CMD命令执行

CMD命令执行

找到文件夹路径后,我尝试在 bat 脚本中执行特定命令。以下是我目前所得到的:

@ECHO OFF
cmd /k "cd C:\"Program Files (x86)\"Microsoft Office\Office15\" 
cscript ospp.vbs /dstatus
pause

我遇到的问题是执行cscript ospp.vbs /dstatus

答案1

如果该脚本被保存为 .bat 文件,是否有理由告诉批处理文件打开另一个命令行实例?

对于这个简单的脚本,您不需要这样做。此外,您的 cd 路径应该用双引号将整行括起来。以下更改将满足您的需求。

@ECHO OFF
cd "C:\Program Files (x86)\Microsoft Office\Office15\"
cscript ospp.vbs /dstatus
pause

答案2

您的脚本失败的原因有两个:-

  1. cmd /k ...创建 的新实例cmd,运行指定的命令,然后从该实例提示,并且cmd直到您键入才会继续执行原始操作exit
  2. 即使你习惯于cmd /c ...执行命令字符串并立即退出,cd子shell中的执行也不会影响原始中的当前目录cmd

要在脚本运行后保留当前目录,您可以使用:

cmd /c "cd C:\Program Files (x86)\Microsoft Office\Office15\ & cscript ospp.vbs /dstatus"

或者更简单地不要使用子 shell,而是使用pushd而不是并在返回后cd运行:-popdcscript

@ECHO OFF
pushd "C:\Program Files (x86)\Microsoft Office\Office15\"
cscript ospp.vbs /dstatus
popd
pause

相关内容