2015-10-26 2 views
2

У меня есть .bat-файл [1], начиная с сценария .vbs [2], который запускается без запуска терминала, t включить «Start/low» в .bat-файле.Как установить приоритет процесса при запуске исполняемого файла из командного файла в Windows без запуска терминала

Начальная/низкая часть .bat-файла запускает команду с заданным (низким) приоритетом, но запускается в терминале, чего я не хочу.

Я могу запустить желаемую команду в фоновом режиме без терминала, если я не устанавливаю приоритет в файле .bat. В этом случае последний .exe, который запускает, замедляет мой компьютер, поэтому я хочу установить его приоритет как «низкий».

Я пробовал это [3], но это дает мне ошибку, когда я запускаю его [4].

Кто-нибудь любезно сообщит мне, как сделать исполняемый файл старшим с низким приоритетом без запуска окна терминала?

[1]

Start /low C:/dataserv-client/dataserv-client.exe --store_path=C:\Users\Chris\StorjData --max_size=800.0GB farm 

[2]

Dim WinScriptHost 
Set WinScriptHost = CreateObject("WScript.Shell") 
WinScriptHost.Run Chr(34) & "C:\Users\Chris\Scripts\start_dataserv-client.bat" & Chr(34), 0 
Set WinScriptHost = Nothing 

[3]

Dim WinScriptHost 
Set WinScriptHost = CreateObject("WScript.Shell") 
WinScriptHost.Run Chr(34) & "Start /low C:/dataserv-client/dataserv-client.exe --store_path=C:\Users\Chris\StorjData --max_size=800.0GB farm" & Chr(34), 0 
Set WinScriptHost = Nothing 

4

enter image description here

+0

START - внутренняя команда CMD.exe. Вот почему он не может найти его для его выполнения. – Squashman

ответ

2

Код в [3] не работал, потому что 1) закрывающая цитата, добавленная с chr(34), была не в том месте - это был процитирован только исполняемый файл, а не вся командная строка и 2) start не является автономной утилитой который может быть выполнен непосредственно .Run, это команда командного процессора cmd (легко проверить, запустив where start в консоли командной строки).

CreateObject("WScript.Shell").Run "cmd /c Start /low " & chr(34) & chr(34) & " " & _ 
    chr(34) & "C:\dataserv-client\dataserv-client.exe" & chr(34) & _ 
    " --store_path=C:\Users\Chris\StorjData --max_size=800.0GB farm", 0 

, который выполняет cmd /c start /low "" "C:\dataserv-client\dataserv-client.exe" ......... - первый "" для параметра титульного start, так что cmd не перепутать его с цитируемым ехе путем.

Смежные вопросы