如何执行选择命令但不执行任何操作
How to execute the choice command but not do anything
我的批处理脚本使用了 choice 命令。在我的脚本中,我想检查 choice.exe 是否存在,因为它是具有选择命令的应用程序。
而且我完全知道该怎么做。
通过执行选择命令并使其在失败时退出脚本
choice || goto:nochoiceapp
:nochoiceapp
echo Cannot continue with script
echo Your system doesn't have choice.exe
pause
但我想在我的脚本开始时执行此操作。不仅仅是在需要选择命令的时候。
我希望它只检查 choice.exe 是否存在,而不是实际执行“选择”。它会导致一个选择提示
如何让它执行选择命令但不执行任何操作?
Choice 是位于 System32 中的常规系统可执行文件。您可以简单地检查该文件是否存在。
if not exist "%SystemRoot%\System32\choice.exe" goto :nochoiceapp
这是一个替代方案,它允许 Microsoft 实用程序 choice.exe
位于当前目录中 %PATH%
中的某处,或者在注册表中定义为直接可执行文件。
choice.exe /D N /T 0 2> NUL 1>&2 & If Not ErrorLevel 2 GoTo nochoiceapp
的思路是自动进入N
到默认的[Y,N]?
提示符,也就是说如果ErrorLevel
不是2
,那么这个可执行文件是不存在的在任何位置,或者确实如此,但不是正确的实用程序。
请注意,对于不使用 N
作为默认 'No' 选项的语言,您应该相应地更改 N
。
我的批处理脚本使用了 choice 命令。在我的脚本中,我想检查 choice.exe 是否存在,因为它是具有选择命令的应用程序。
而且我完全知道该怎么做。 通过执行选择命令并使其在失败时退出脚本
choice || goto:nochoiceapp
:nochoiceapp
echo Cannot continue with script
echo Your system doesn't have choice.exe
pause
但我想在我的脚本开始时执行此操作。不仅仅是在需要选择命令的时候。
我希望它只检查 choice.exe 是否存在,而不是实际执行“选择”。它会导致一个选择提示
如何让它执行选择命令但不执行任何操作?
Choice 是位于 System32 中的常规系统可执行文件。您可以简单地检查该文件是否存在。
if not exist "%SystemRoot%\System32\choice.exe" goto :nochoiceapp
这是一个替代方案,它允许 Microsoft 实用程序 choice.exe
位于当前目录中 %PATH%
中的某处,或者在注册表中定义为直接可执行文件。
choice.exe /D N /T 0 2> NUL 1>&2 & If Not ErrorLevel 2 GoTo nochoiceapp
的思路是自动进入N
到默认的[Y,N]?
提示符,也就是说如果ErrorLevel
不是2
,那么这个可执行文件是不存在的在任何位置,或者确实如此,但不是正确的实用程序。
请注意,对于不使用 N
作为默认 'No' 选项的语言,您应该相应地更改 N
。