Batch file 如何使用WMIC启动Windows进程?
是否有方法使用Batch file 如何使用WMIC启动Windows进程?,batch-file,command-line,process,minimize,wmic,Batch File,Command Line,Process,Minimize,Wmic,是否有方法使用WMIC从Windows 7批处理文件(或从命令行)启动进程?我基本上是在寻找相当于START/MIN 我并不需要它,但如果其他人可能需要,那么使用WMIC的START/MAX等价物是什么?您需要编写一个vbs脚本。从和 Const SW_NORMAL=1 strComputer=“” strCommand=“Notepad.exe” 设置objWMIService=GetObject(“winmgmts:_ &“{impersonationLevel=impersonate}.\
WMIC
从Windows 7批处理文件(或从命令行)启动进程?我基本上是在寻找相当于START/MIN
我并不需要它,但如果其他人可能需要,那么使用
WMIC
的START/MAX
等价物是什么?您需要编写一个vbs脚本。从和
Const SW_NORMAL=1
strComputer=“”
strCommand=“Notepad.exe”
设置objWMIService=GetObject(“winmgmts:_
&“{impersonationLevel=impersonate}.\\”_
&strComputer&“\root\cimv2”)
'将记事本进程配置为显示窗口
设置objStartup=objWMIService.Get(“Win32_ProcessStartup”)
设置objConfig=objStartup.spawneInstance_
objConfig.ShowWindow=SW_正常
'创建记事本进程
设置objProcess=objWMIService.Get(“Win32_进程”)
intReturn=objProcess.Create_
(strCommand,Null,objConfig,intProcessID)
如果返回0,那么
Echo“无法创建进程”。&_
vbNewLine和命令行:&strCommand&_
vbNewLine&“返回值:”&intReturn
其他的
Echo“进程已创建”。&_
vbNewLine和命令行:&strCommand&_
vbNewLine&“进程ID:”&intProcessID
如果结束
无需搜索等效的开始/分钟
(除非另有要求)。只需使用start/min
wmic process call create "cmd /c start /min notepad.exe"
当然
/max
的工作原理是一样的。不使用wmic
,但我认为它可以满足您的需要:
powershell.exe Start-Process -WindowStyle Minimized -PassThru notepad
输出包含PID:
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
18 3 1232 1616 0,03 51784 1 notepad
你知道远程启动的程序是不可见的。我感谢你的反馈,但不幸的是VBS不是我的选择。但你是说这在WMIC中是不可能的?你将如何将一个对象作为命令行参数传递?为什么,它们是看不见的,所以将它们最小化是毫无意义的。我没有启动远程程序,也没有传递对象。我想启动一个本地进程,仅此而已。也许有一个例子:(1)运行cmd.exe,(2)start/min notepad.exe=>这是可行的,现在(3)wmic进程调用create notepad.exe=>并没有最小化它,所以我的问题是,如果可能的话,如何使用wmic做到这一点。我需要ProcessId,WMIC提供了它,但START没有。此流程可能有多个实例已在运行,因此我无法使用tasklist查找ProcessId。除非有其他要求。是,有其他要求。我需要启动的进程的ProcessId,这个方法无法获得。
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
18 3 1232 1616 0,03 51784 1 notepad