#cmd #bat
Имеется .bat файл, который при запуске начинает выполнять различные действия в command line. Есть ли возможность сделать так чтоб функционал .bat файла выполнялся, но при этом чтоб сам comand line был в бэкграунде ( вернее говоря чтоб пользователь не видел, разве что только в TaskManager ) ?
Ответы
Ответ 1
Средствами командного процессора этого сделать нельзя. Но можно, например, запустить процесс в скрытом окне, используя запускающий VSB-скрипт... хотя разумнее весь батч переписать на VBS или PS. UPD: По просьбе ТС подробнее. Создай на диске C: каталог \Temp. Создай в нём 2 файла. A.BAT ping -n 1000 127.0.0.1 > c:\temp\ping.txt B.VBS Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "C:\Temp\a.bat",0 Открой Диспетчер задач, перейди на вкладку "Процессы". Запусти файл b.vbs на исполнение (просто двойной клик по нему). Убедись, что: В процессах появятся, и через некоторое время исчезнут cmd.exe и ping.exe. В каталоге появится файл ping.txt, и, пока не завершатся процессы по п. 1, файл будет заблокирован. В файле сохранён протокол работы утилиты ping. Ни окно CMD, ни окно PING на панели задач не появляется. И можно не спешить скакать по окнам, пинг будет работать минут 10-15...Ответ 2
Воспользуйтесь дополнительной программой cmdow https://ritchielawrence.github.io/cmdow/ cmdow /run /hid myprog.bat
Комментариев нет:
Отправить комментарий