Windows中的文件redirect和%errorlevel%
比方说,我们想用下面的命令在windows中创build一个空文件:
type nul > C:\does\not\exist\file.txt
该目录不存在,所以我们得到的错误:
The system cannot find the path specified
如果你打印出%errorlevel%
的输出是:
echo %errorlevel% 0
然而,这个命令并不成功!
我注意到,如果您使用redirect,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才会在redirect错误之后设置 运营商。 我从来不会猜到 如果不是你的优秀问题,我也不会费心去testing。
如果你想要做的就是在redirect失败时设置ERRORLEVEL,那么当然你可以简单地做:
type nul > C:\does\not\exist\file.txt || rem
- 如何在64位Windows上安装SciPy?
- Windows上MBCS和UTF-8的区别
- 命令列出文件夹中的所有文件以及窗口中的子文件夹
- 系统(“cd <path>”)在C程序中
- 是否有文档目录的系统定义的环境variables?
- 在Windowsbatch file中以YYYYMMDD格式获取date
- 找不到模块'../build/Release/bson'] code:'MODULE_NOT_FOUND'} js-bson:无法加载c ++ bson扩展,使用纯JS版本
- 从Windows到Linux的C ++交叉编译器
- 使用正则expression式去除所有非单词字符(C#正则expression式模式中的正则expression式分隔符)