cmd /c 在 server 2012 上的行为不同

red*_*888 0 windows-command-prompt windows-server-2012

尝试编写一个批处理文件来关闭我的 2012 服务器,但遇到了一个奇怪的问题。例如,在 2008 年,如下所示的批处理文件按预期运行:

cmd /c shutdown -s -t 0
Run Code Online (Sandbox Code Playgroud)

在服务器 2012 上,当我单击批处理文件时,它会不断生成 cmd 进程,直到我强行关闭它。是什么赋予了?

Zor*_*che 5

当我单击批处理文件时,它会不断生成 cmd 进程,直到我强行关闭它。

只是出于好奇,你给剧本取了什么名字?你是否碰巧命名了它shutdown.bat或者shutdown.cmd也许?

如果是这样,脚本会调用自身,因为 Windows 如何解析命令的路径。使用shutdown.exe 的完整路径,在脚本中发出CD 命令,或重命名脚本。