在SO上多次询问了一个类似的问题,答案通常是:
cmd
,然后运行命令cmd
传递/c
以及我已经尝试过的其他一些事情。但我的问题是:我有一个特定的程序(cntkpy34.bat
)拒绝在PowerShell上运行。也就是说,使用上述任何解决方案,我仍然可以“请在常规Windows命令提示符下执行此脚本。”
所以我真正想要的是调用一个新的cmd.exe
窗口并在其上运行命令。如何在PowerShell脚本中实现这一目标?
编辑:检查批处理文件,这是它验证shell的方式:
if /I "%CMDCMDLINE%" neq ""%COMSPEC%" " (
echo.
echo Please execute this script from inside a regular Windows command prompt.
echo.
exit /b 0
)
即使开始新的cmd.exe
流程也不会这样做。
答案 0 :(得分:3)
Start-Process cmd -Argument“/ c cntkpy34.bat”-RedirectStandardOutput somefile
这将打开一个新的cmd窗口并在那里运行