Страницы

Поиск по вопросам

пятница, 5 апреля 2019 г.

Как запустить .bat файл в бэкграунде?

Имеется .bat файл, который при запуске начинает выполнять различные действия в command line. Есть ли возможность сделать так чтоб функционал .bat файла выполнялся, но при этом чтоб сам comand line был в бэкграунде ( вернее говоря чтоб пользователь не видел, разве что только в TaskManager ) ?


Ответ

Средствами командного процессора этого сделать нельзя. Но можно, например, запустить процесс в скрытом окне, используя запускающий 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...

Комментариев нет:

Отправить комментарий