[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[原创] 批处理if命令中gtr的特殊应用

作者:youxi01
转载请注明

一、直接对日期大小进行比较。
比如,我要查找当前目录下,在2005-5-30以后的文件,则可以这样写:
  1. @echo off
  2. for %%i in (*) do    if %%~ti gtr 2005-05-30 echo %%~nxi
  3. pause>nul
复制代码
二、对字母直接进行比较。
  1. @echo off
  2. call :echo c o
  3. echo.
  4. call :echo d k
  5. pause>nul
  6. :echo startw endw
  7. echo %1 到 %2 之间的字母有:
  8. for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
  9.    if %%i geq %1 if %%i leq %2 set /p=%%i <nul)
复制代码
三、更奇妙的是,汉字和英文字也可以比较“大小”---找出字符串中的汉字
测试代码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=我bat是home好.cn人"
  4. call :test "%str%"
  5. echo 提取出的汉字有:%cstr%
  6. pause>nul
  7. :test
  8. set "var=%~1"
  9. for /l %%i in (0 1 20) do (
  10.    set "var_=!var:~%%i,1!"
  11.    if "!var_!"=="" goto :eof
  12.    if !var_! gtr Z set cstr=!cstr!!var_!
  13. )
复制代码
1

评分人数

呵呵,这个很早写的了,曾经是为另外一个论坛写的...

TOP

返回列表