这是我实现该目标的方法的集合-甚至更多-在可能的情况下,我也尝试返回已启动进程的PID(所有链接的脚本都可以下载并以您认为方便的任何名称保存):
1)IEXPRESS解决方案甚至可以在旧的win 95/98机器上使用。Iexpress是一个非常古老的工具,仍与Windows一起打包-因为参数仅接受命令及其参数。
用法示例:
call IEXPhidden.bat "cmd /c myBat.bat" "argument"
2)SCHTASKS-再次仅接受两个参数-命令和参数,还检查它是否以提升的权限启动,并在可能的情况下使用WEVTUTIL获取进程的PID(可从Vista及更高版本获得,因此较新版本的Windows将收到PID)命令。
用法示例:
call SCHPhidden.bat "cmd /c myBat.bat" "argument"
3)'WScript.Shell'-脚本是'WScript.Shell'的完整包装,可以通过命令行选项设置所有可能的选项,它是jscript / batch的混合体,可以称为bat。
用法示例(有关更多信息,请使用-h打印帮助):
call ShellRunJS.bat "notepad.exe" -style 0 -wait no
4)'Win32_ProcessStartup'-再次是完整的包装器,所有选项都可以通过命令行参数访问。这一次是WSF / batch混合,带有一些Jscript和一些VBScript代码段-但它返回已启动进程的PID。不隐藏可以使用某些选项,例如X / Y坐标(不适用于每个可执行文件-但例如cmd.exe接受坐标)。
用法示例(有关更多信息,请使用-h打印帮助):
call win32process.bat "notepad" -arguments "/A openFile.txt" -showWindows 0 -title "notepad"
5)。NET解决方案。使用了大多数ProcessStartInfo选项(但是最后,我太累了,无法包含所有内容):
用法示例(有关更多信息,请使用-h打印帮助):
call ProcessStartJS.bat "notepad" -arguments "/A openFile.txt" -style Hidden -directory "." -title "notepad" -priority Normal