在那种情况下可以回显返回值。
- @echo off
- :edition
- set edition=
- set /p edition=please input EDITION(6):
- if /i "%edition%" == "Q" EXIT CMD
- if /i not "%edition%" == "6" goto a
- echo output %edition%G
- ECHO %errorlevel%
- :a
- input error & goto edition
- pause
复制代码
运行过后返回值是1,是不代表着命令执行失败。。。但是命令是执行成功的。。
- @echo off & setlocal enabledelayedexpansion
- set date=
- set /p date=请输入时间(200907)
- echo output %date%
-
- md F:\123
-
- for /r [url=file://\\10.200.146.163\123\zxx\p\a-090731\01\log]\\10.200.146.163\123\zxx\p\a-090731\01\log[/url] %%b in (*.*) do (
- set var=%%~tb
- set var=!var:~0,4!!var:~5,2!
- IF "!VAR!" == "!date!" xcopy /-y/Q/i "%%b" f:\123)
- echo %errorlevel%
-
- for /r [url=file://\\10.200.146.163\123\zxx\p\a-090731\01\data]\\10.200.146.163\123\zxx\p\a-090731\01\data[/url] %%a in (*.*) do (
- set var=%%~ta
- set var=!var:~0,4!!var:~5,2!
- IF !VAR! == !date! xcopy /-y/Q/i "%%a" f:\123)
- echo %errorlevel%
- pause
复制代码
上面的批处理 运行过后也是回显返回值为0,为什么没有成功也返回数值0,%errorlevel% 改为!errorlevel!也不行。
希望告知一下,第二个例子,如何修改可以正确来判定for语句执行成功。第二例子是否会有for语句执行成功,xcopy没有执行成功这种情况。。
把上面的批处理改为
- for /r [url=file://\\10.200.146.163\123\zxx\p\a-090731\01\data]\\10.200.146.163\123\zxx\p\a-090731\01\data[/url] %%a in (*.*) do (
- set var=%%~ta
- set var=!var:~0,4!!var:~5,2!
- IF !VAR! == !date! (xcopy /-y/Q/i "%%a" f:\123)
- echo %errorlevel%
- )
复制代码
这种情况不回显返回值,可以修改下,让xcopy没有复制的话执行回显yes或no....... |