比方说,我们要创建与下面的命令窗口的空文件:
type nul > C:\does\not\exist\file.txt
该目录不存在,所以我们得到的错误:
The system cannot find the path specified
如果打印出来的%errorlevel%
的输出是:
echo %errorlevel%
0
但该命令没有成功!
我注意到,Windows不设置%errorlevel%
的最后一个命令,如果你使用重定向..
有没有解决的办法?
您可以使用以下方法:
C:\>type nul > C:\does\not\exist\file.txt && echo ok || echo fail
The system cannot find the path specified.
fail
C:\>echo %errorlevel%
1
我一直认为的&&和|| 运营商使用的错误级别,但显然不是。
非常奇怪的是,ERRORLEVEL被重定向错误后,只有当您使用设置|| 运营商。 我决不会猜到。 也不我会永远都不屑于测试,如果不是你非常好的问题。
如果你想要做的是建立在重定向失败的ERRORLEVEL,那么当然,你可以简单地做:
type nul > C:\does\not\exist\file.txt || rem