Страницы

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

воскресенье, 2 февраля 2020 г.

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

#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

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

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