打赏

windwos errorlevel变量获取XCOPY返回值,if判断失效处理

 

 

折腾了好久,windows  bat脚本的if语句就是一个坑 特别是对于不熟悉bat脚本的来说

 

查看了cmd 下if的用法  

然后了解了  errorlevel   才最终解决问题

 

 

 

 注意:

开启变量延迟的设置:setlocal EnableDelayedExpansion,即延迟环境变量扩展,告诉解释器在遇到复合语句的时候,不要将其作为一条语句同时处理,而是一条一条地去解释。但是这时如果仍然用百分号%来引用变量是不起作用的,必须用感叹号!,如!errorlevel!。

 

代码如下  成功获取XCOPY返回值  并按照预定执行

......

 

@echo "-*****************准备复制文件******************-\r\n"

::开启延迟环境变量
setlocal enabledelayedexpansion

XCOPY %SourceDir%\51200* %NetDir%\dates\ /y /q

if !errorlevel! == 0 (
echo !errorlevel!
del /f /q %SourceDir%\51200*
) else (
echo "复制错误 准备重新尝试.."

)

 

 %SourceDir%\51200*   是源文件 

%NetDir%\dates\    是目标

.

 

 

参考:  https://blog.csdn.net/hwhua1986/article/details/72770057

posted @ 2019-06-27 17:15  陈昌雄  阅读(539)  评论(0编辑  收藏  举报