如果命令未被识别,窗口脚本将自动退出

问题描述 投票:0回答:3

我想写一个窗口脚本,如果一个命令没有被识别为内部或外部命令,就退出脚本。

请问如何实现?真的需要一些帮助,因为window cmd文档和例子都很有限。

我曾试过用.NET技术来实现。

somecommand
if errorlevel 0 exit /b

但似乎没有用,因为错误级别的值一直是0,甚至我得到了 "command is not recognized as internal or external command "的错误信息。

先谢谢你

衷心祝愿

batch-file command-line window
3个回答
1
投票

写一个短的批处理文件(一个简单的文本文件),用

@echo off
%* 2>nul || echo No such command: %*

|| 操作符开始下一条命令(这里是 echo只有在前一个命令失败的情况下才会出现)。


0
投票

if errorlevel n 将被评价为 真正 对于任何大于或等于 n. 所以... if errorlevel 0 对于任何非负值的错误级别都将为真。

当一个命令未被识别时, errorlevel 值集是 9009所以,你可以尝试用

somecommand
if %errorlevel% equ 9009 echo does not exist

somecommand
if not errorlevel 9010 if errorlevel 9009 echo does not exist

当然,任何现有的程序都可以设置一个新的程序。errorlevel9009,所以这不是一个防弹方法。


0
投票
@echo off  
ver > nul  
echo ERRORLEVEL : %ERRORLEVEL%    
some command  
IF %ERRORLEVEL% NEQ 0 ( goto PrintError )  

:PrintError  
echo Command is not recognized as internal or external command!  

exit /B 1  
© www.soinside.com 2019 - 2024. All rights reserved.