等待

等待

我在使用批处理文件命令时遇到了问题 - 当我运行程序时,批处理文件末尾有一个“PAUSE”命令,但是命令窗口仍然会自动立即关闭,速度太快以至于我看不到结果。还有其他方法可以防止命令窗口关闭,或者以某种方式获取结果吗?例如,是否可以发送打印版本,插入某处?

背景 - 我对命令行一无所知,所以如果可以的话,请将任何回复简化为新手级别的解释。我最终试图确定 MS Project 文件的版本,并完全使用/遵循了此网站的说明,但是结果不会显示给我 - 命令窗口立即消失:

我使用的 Microsoft 网站获取说明: 确定mpp文件(MS Project计划文件)版本的简单方法

批处理文件中的文本/命令:

@ECHO OFF

REM  Version.bat

ECHO Filename: %1

ECHO.

ECHO -- CHECK FOR PROJECT VERSION --

strings %1 | findstr "[0-9],.,....,...." 2>NUL

ECHO Check the following list for the first one or two digits of the string above (xx,.,....,....)

ECHO List of xx (Product Name): 8 (98), 9 (2000), 10 (2002), 11 (2003), 12 (2007), 14 (2010)

ECHO. 

ECHO -- CHECK FOR MPP FILE VERSION --

strings %1 | findstr ".MPP" 2>NUL

ECHO Check the following list for the digit(s) at the end of the string above (...MPPxx)

ECHO List of xx (Product Name): 8 (98), 9 (2000/2002/2003), 12 (2007), 14 (2010)

ECHO.

PAUSE

答案1

我怀疑文件有错误。请尝试从现有命令窗口调用批处理文件以查看消息。

最有可能的问题是脚本正在调用一个名为“strings”的外部程序,根据你链接到的文档可以发现这里为了使批处理文件能够找到它,您应该将其安装在运行它的目录中,否则您将需要修改 PATH 系统环境变量或将其放在系统目录中。

答案2

等待

秒:

PING 127.0.0.1 -n <sec> >NUL

等待10秒:

PING 127.0.0.1 -n 10 >NUL

等待10秒:

powershell measure-command {sleep -s 10} ^| select TotalSeconds ^| Ft -Au

等待 1/4 秒或 250 毫秒:

powershell measure-command {sleep -m 250} ^| select TotalMilliseconds ^| Ft -Au

暂停

电源外壳:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')

变量2:

powershell $host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown') >NUL

变量3:

powershell cmd /c pause ^| out-null

变量4:

powershell [Console]::ReadKey()>NUL

变量5:

powershell sleep

暂停命令,批处理/cmd:

cmd /c pause

答案3

如果前一个命令是批处理文件,则不会执行文件的其余部分。尝试在前面的命令之前调用/

相关内容