我需要编写一个批处理文件来启动和停止通常可以从运行行执行的程序。我有很多电脑,所以这至少可以说是乏味的。
我似乎无法让这个工作:
wmic /node:ipaddress process call create "cmd.exe c:\\somefolder\\someprogram.exe -stop"
答案 0 :(得分:0)
阅读并关注cmd /?
,使用/C
或/K
切换:
Starts a new instance of the Windows command interpreter CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string] /C Carries out the command specified by string and then terminates /K Carries out the command specified by string but remains …
使用类似set "ipadr=192.168.1.7"
然后
wmic /node:%ipadr% process call create "cmd.exe /C c:\\afolder\\aprogram.exe -stop"
或
wmic /node:%ipadr% process call create "cmd.exe /C \"c:\\afolder\\aprogram.exe -stop\""
或者,如果程序的路径包含空格:
wmic /node:%ipadr% process call create "cmd.exe /C \"\"c:\\a folder\\aprogram.exe\" -stop\""
或者,如果提供给程序的参数包含空格:
wmic /node:%ipadr% process call create "cmd.exe /C \"c:\\afolder\\aprogram.exe \"-stop\"\""
请注意,我使用一些较短的名称来保持无滚动条的命令行(尽可能)。
我不确定路径中的双反斜杠;在我的Windows上,单个反斜杠就足够了,例如如下:
wmic /node:%ipadr% process call create "cmd.exe /C c:\afolder\aprogram.exe -stop"
答案 1 :(得分:0)
我不确定您在create
时使用terminate
的原因:
WMIC /Node:<server/ipaddress> Process Where "ExecutablePath='C:\\afolder\\aprogram.exe'" Call Terminate
或者可能:
WMIC /Node:<server/ipaddress> Process Where "CommandLine='full command used to start aprogram.exe'" Call Terminate