我正在为事件调度程序编写 .bat 文件脚本,但遇到了一个问题。
start-process notepad.exe -argumentlist 'C:\test.bat' -verb runas
这有效
start-process cmd.exe -argumentlist 'C:\test.bat' -verb runas
但这只会打开一个 cmd 窗口并且不执行任何操作。
...-argumentlist 'start C:\test.bat'
不起作用但仍打开 cmd 窗口
C:\test.bat
这有效
.bat文件没有问题。我原来的脚本是powershell.exe start-process -windowstyle hidden cmd.exe -argumentlist '/c /min start /b "c:\test.bat"' -verb runas
与 notepad.exe 不同,argumentlist 似乎没有传递给 cmd.exe。
我该如何修复此问题?
答案1
这个问题已经在堆栈溢出
基本上,你的 cmd.exe 语法是错误的。从Microsoft 文档,你会发现
/c 执行字符串指定的命令然后停止。
/k 执行字符串指定的命令并继续。
因此,你的论据列表应该是这样的'/c c:\test.bat'