На данный момент мой пакетный файл выглядит следующим образом:
myprogram.exe param1
Программа запускается, но окно DOS остается открытым. Как я могу закрыть его?
Использовать команду start, чтобы предотвратить пакетный файл от ждем программы. Просто не забудьте взять с собой пустые двойные кавычки в передней части программа, которую нужно запустить после"на старт " и;. Например, если вы хотите запустить Visual Studio 2012 из пакета команду:
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
обратите внимание на двойные кавычки после старта.
Вы можете использовать ключевое слово exit. Вот пример из одного из моих пакетных файлов:
start myProgram.exe param1
exit
Посмотрите на команду START, вы можете сделать это:
START rest-of-your-program-name
Например, этот пакетный файл будет ждать, пока Notepad не выйдет из программы:
@echo off
notepad c:\test.txt
Однако это не так:
@echo off
start notepad c:\test.txt
От моего Вопрос:
start /b myProgram.exe params...
работает, если вы запустите программу из существующей DOS сессии.
Если нет, то вызвать скрипт VB
wscript.exe invis.vbs myProgram.exe %*
В сервера сценариев Windows метод run () принимает:
Вот Инвис.ВБС:
set args = WScript.Arguments
num = args.Count
if num = 0 then
WScript.Echo "Usage: [CScript | WScript] invis.vbs aScript.bat <some script arguments>"
WScript.Quit 1
end if
sargs = ""
if num > 1 then
sargs = " "
for k = 1 to num - 1
anArg = args.Item(k)
sargs = sargs & anArg & " "
next
end if
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """" & WScript.Arguments(0) & """" & sargs, 0, False
Это единственное, что работал для меня, когда я попытался запустить Java-класс из пакетного файла:
СТАРТ "и cmdWindowTitle и" и quot и;javaw, который" с-СР . testprojectpak.Форму mainform
Вы можете настроить команду Пуск
, как вы хотите для вашего проекта, соблюдая правильный синтаксис:
Syntax
START "title" [/Dpath] [options] "command" [parameters]
Key:
title : Text for the CMD window title bar (required)
path : Starting directory
command : The command, batch file or executable program to run
parameters : The parameters passed to the command
Options:
/MIN : Minimized
/MAX : Maximized
/WAIT : Start application and wait for it to terminate
/LOW : Use IDLE priority class
/NORMAL : Use NORMAL priority class
/HIGH : Use HIGH priority class
/REALTIME : Use REALTIME priority class
/B : Start application without creating a new window. In this case
^C will be ignored - leaving ^Break as the only way to
interrupt the application
/I : Ignore any changes to the current environment.
Options for 16-bit WINDOWS programs only
/SEPARATE Start in separate memory space (more robust)
/SHARED Start in shared memory space (default)
Попробуйте следующее. Программа запускается без окна. Оно действительно вспыхивает на секунду, но быстро исчезает.
start "name" /B myprogram.exe param1
Мое решение для этого в GUI:
Создайте ярлык для программы, которую вы хотите выполнить;
Отредактируйте ярлыка's свойства;
Изменить поле целевая " на " %COMSPEC% /C и на "Пуск " и" не то "программа" и"
в;
Изменить поле "выполнить", чтобы свести к минимуму.
Готово! Посмотрим, как тебе понравится это...
ЗЫ: программа параметров может быть вставлен между двумя окончательной кавычки; в ИМЯ_ПРОГРАММЫ
строка может быть либо именем, относительный или абсолютный путь-если вы поставили в абсолютный путь и стереть букву диска или точку с запятой, то это будет работать на флэшке не важно, что письмо главного компьютера присваивает ему... (также, если вы поместите ярлык в той же папке и перед именем программы в ИМЯ_ПРОГРАММЫ
с %КД%
переменная, пути всегда будет соответствовать, тот же самый трюк может быть использован в `Пуск в поле).
Если этот пакетный файл-это то, что вы хотите работать по расписанию, или всегда можно использовать программу расписание для Windows и он не't открывает в окне при запуске пакетного файла.
Открыть Планировщик заданий
:
'УМК'
С правой стороны, нажмите кнопку `Создать простую задачу и следовать меню.
Надеюсь, что это помогает.
Вот мой предпочтительным решением. Это взято из ответ на подобный вопрос.
Использовать скрипт VBS для вызова пакетного файла:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\path\to\your\batchfile.bat" & Chr(34), 0
Set WshShell = Nothing
Скопировать вышеуказанные строки в редакторе и сохраните файл .Расширением VBS.