我有一个.bat文件[1]从.vbs脚本[2]开始,如果我在.bat文件中不包含'Start / low',它只会在没有启动终端的情况下启动。
.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
答案 0 :(得分:3)
[3]
中的代码无法正常工作,因为1)用chr(34)
添加的结束引用位于错误的位置 - 只有可执行文件应该以这种方式引用,而不是整个命令行2)start
不是独立的实用程序,它可以由.Run
直接执行,它是命令处理器cmd
的命令(通过运行{{1轻松检查)在命令提示符控制台中)。
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" .........
用于""
的title参数,以便start
不会将其与引用的exe路径混淆。< / p>