比较返回码
-
- @echo off
- FIND "甲兵" c:\AAA.txt
- echo,
- echo,
- echo,
- IF ERRORLEVEL 2 ECHO ◇错误
- IF ERRORLEVEL 1 ECHO ◎失败
- IF ERRORLEVEL 0 ECHO ★成功
- echo ~~~~~~~~~(1)~~~~~~~~~
- if %ERRORLEVEL% == 2 echo ◇我错误了
- if %ERRORLEVEL% == 1 echo ◎我失败了
- if %ERRORLEVEL% ==0 echo ★我成功了
- echo ~~~~~~~~~(2)~~~~~~~~~~
- IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 ECHO ★OK
- IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ECHO ◎Fail
- IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ECHO ◇Wrong
- echo ~~~~~~~~~(3)~~~~~~~~~~
- pause>nul
复制代码
Set截取理解
-
- @echo off
- :jiequ
- echo.
- echo.
- echo SET命令截取字符串四种类型详解 CMD@XP BY CJIABING
- echo.
- echo 规律总结:
- echo M:从前面数起,删除前面M位数截取剩余位数——只要后面的,但从前面数起
- echo -M:从后面数起,保留后面M位数——只要后面的,但从后面数起
- echo N:从前面数起,保留前面N位数——只要前面的,但从前面数起
- echo -N:从后面数起,删除后面N位数——只要前面的,但从后面数起
- echo + 表示从前面数起,- 表示从后面数起(从后面算起优先)。
- echo M 表示只要后面的,N 表示只要前面的。
- echo.
- echo 使用实例:
- echo set str=我爱批处理
- set str=我爱批处理
- echo ::设置变量%%str%%为“我爱批处理”五个字符串
- echo echo %%str:~0,1%% ::1显示:%str:~0,1% ~0,1 表示取第一个字符
- echo echo %%str:~1,1%% ::2显示:%str:~1,1% ~1,1 表示取第二个字符
- echo echo %%str:~2,-2%% ::3显示:%str:~2,-2% ~2,-2 表示保留第三个字符
- echo echo %%str:~-3,3%% ::4显示:%str:~-3,3% ~-3,3 表示取最后三个字符
- echo echo %%str:~-3,-1%% ::5显示:%str:~-3,-1% ~-3,-1 表示保留倒数第二、第三两个字符
- echo.
- echo 注意:
- echo 1、正取时字符向右偏移一位,故0表示位置1,1表示位置2,依此类推,如上;
- echo 2、在FOR命令中,需先把输出变量设置为一个新变量,如:set str=%%%%a。
- echo ______________________________________________________________________________
- pause>nul
- ::cls
- echo.
- echo 第一种:%%var:~M,N%%
- echo 例 子:%%var:~3,5%%
- set var=1234567890
- set var=%var:~3,5%
- echo 结 果:%var%
- echo.
- echo 3:删除前面3位剩余 -123=4567890
- echo 5:保留前面5位。 +45678
- echo 结果:45678
- echo M:从前面数起,删除前面M位数截取剩余位数——只要后面的,但从前面数起
- echo ______________________________________________________________________________
- pause>nul
- echo.
- echo 第二种:%%var:~M,-N%%
- echo 例 子:%%var:~3,-5%%
- set var=1234567890
- set var=%var:~3,-5%
- echo 结 果:%var%
- echo.
- echo 3:删除前面3位剩余 -123=4567890
- echo -5:删除后面5位剩余 -67890=45
- echo 结果:45
- echo -M:从后面数起,保留后面M位数——只要后面的,但从后面数起
- echo ______________________________________________________________________________
- pause>nul
- echo.
- echo 第三种:%%var:~-M,N%%
- echo 例 子:%%var:~-6,1%%
- set var=1234567890
- set var=%var:~-6,1%
- echo 结 果:%var%
- echo.
- echo -6:保留后面6位 +567890
- echo 1:保留前面1位。 +5
- echo 结果:5
- echo N:从前面数起,保留前面N位数——只要前面的,但从前面数起
- echo ______________________________________________________________________________
- pause>nul
- echo.
- echo 第四种:%%var:~-M,-N%%
- echo 例 子:%%var:~-6,-1%%
- set var=1234567890
- set var=%var:~-6,-1%
- echo 结 果:%var%
- echo.
- echo 完全取后面的数
- echo -6:保留后面6位数即 +567890
- echo -1:删除后面1位数剩余 -0=123456789
- echo 结果:56789
- echo -N:从后面数起,删除后面N位数——只要前面的,但从后面数起
- echo ______________________________________________________________________________
- pause>nul
- cls
- goto jiequ
-
复制代码
|