Windows 命令在本地工作,但不通过wmic
此命令在本地工作:Windows 命令在本地工作,但不通过wmic,windows,cmd,wmic,Windows,Cmd,Wmic,此命令在本地工作: for /f "tokens=2" %s in ('sc query state^=inactive ^| find /i "SERVICE_NAME: work"') do set service=%s 但当我尝试从另一台计算机在此计算机上运行它时,它不起作用: wmic /node:"<station_name>" process call create "cmd.exe /c for /
for /f "tokens=2" %s in ('sc query state^=inactive ^| find /i "SERVICE_NAME: work"') do set service=%s
但当我尝试从另一台计算机在此计算机上运行它时,它不起作用:
wmic /node:"<station_name>" process call create "cmd.exe /c for /f "tokens=2" %s in ('sc query state^=inactive ^| find /i "SERVICE_NAME: work"') do set service=%s"
wmic/node:“进程调用创建”cmd.exe/c for/f“令牌=2”%s in('sc query state^=inactive^ | find/i“服务”\u NAME:work“')是否设置服务=%s”
我得到以下错误:
Invalid named parameter list.
Hint: <named param list> ::= <named param> | <named param> <named param list> where <named param> ::= <param name>=<param value>
命名参数列表无效。
提示:::=|其中::==
我成功地运行了一些简单的命令,如:
wmic /node:"<station_name>" process call create "cmd.exe /c echo hi > c:\test\output.log"
wmic/node:“进程调用创建”cmd.exe/c echo hi>c:\test\output.log
如何使用wmic运行上一个命令?这是否回答了您的问题?为什么要使用sc.exe和find.exe,通过WMIC.exe从新的cmd.exe进程运行?使用WMIC和Win32_服务类:
WMIC.exe/Node:“Service Where”State='Stopped',Name Like'%work%'获取Name/Format:List
如果您提供适当的反馈,我将不胜感激(因为您今天已登录,但仍然忽略了上述注释)顺便说一句,要输出到一个文件,您也可以扩展它:%SystemRoot%\System32\wbem\WMIC.exe/Node:“/output”C:\test\output.log”服务,其中“State='Stopped'和类似“%work%”的名称获取名称/格式:List
。显然,从批处理文件中,这将更改为:@%SystemRoot%\System32\wbem\WMIC.exe/Node:“/Output”C:\test\Output.log”服务,其中“State='Stopped'和名称类似“%%work%%”获取名称/格式:List
如果要将输出保存到变量以供进一步使用,则必须更好地解释情况,这是一个更集中的例子。