zoukankan      html  css  js  c++  java
  • 新建以阿拉伯数字序列命名的文件夹组

      分享一个比较鸡肋的东西,此 Bat 代码是用来新建一组以阿拉伯数字顺序为名称的文件夹。

      比如你要 新建一组文件夹名为  1 2 3 4 5 6 7 8 9 10 或者 2 4 6 8 10 12 14 等等名称的文件夹,这规律就像等差数列一样。若你要使用以下代码,复制粘贴到文本文件中,修改后缀名为 .bat 确认警告后双击打开运行即可。

    @echo off 
    title 按阿拉伯数字顺序为名批量建立文件夹   Power By notfound945
    color 4f
    mode con cols=60 lines=40
    echo.
    echo 这是一个用来建立以顺序阿拉伯数字为名称的文件夹组的批处理文件
    echo.
    echo 比如 你可以新建像 
    echo.
    echo                 1 2 3 4 5 6 7 8 9 10 
    echo.
    echo             2 4 6 8 10 12 14 16 18 20 
    echo.
    echo                     这样的文件夹组.
    echo.
    echo 你当前的目录是 %cd%
    echo.
    echo 是在该目录下新建文件夹么?
    echo.
    echo 如果不是,则请将该批处理文件移动到你所要新建文件夹的目录下并重新打开运行.
    echo.
    :next1
    set/p start=请输入起始值:
    echo.
    :: 判断输入的字符是否为阿拉伯数字
    echo %start%|findstr /be "[0-9]*" >nul && goto next2 || goto error1
    :error1
    echo.
    echo 抱歉,仅支持输入阿拉伯数字
    echo.
    goto next1
    :next2
    echo.
    set/p incr=请输入步长值(即相邻阿拉伯数字的差值):
    echo.
    echo %incr%|findstr /be "[1-9]*" >nul && goto next3 || goto error2
    :error2
    echo.
    echo 抱歉,不能为 '0' 或其它非阿拉伯数字
    echo.
    goto next2
    :next3
    echo.
    :: EQU 等于 NEQ 不等于 LSS 小于
    :: LEQ 小于或等于 GTR 大于  GEQ 大于或等于
    set/p end=请输入终止值:
    echo.
    :: 比较终止值与起始值的大小
    echo %end%|findstr /be "[0-9]*" > nul && if %end% GTR %start% (goto next4) else (goto error3) || goto error3
    :error3
    echo.
    echo 抱歉,仅支持输入阿拉伯数字 或 终止值要比起始值 %start% 大 ,请重新输入
    echo.
    goto next3
    :next4
    echo.
    :: if else 左右须加空格 运算符左右不能有空格
    echo.
    echo 好,你将建立起始值为%start% 步长值为%incr% 终止值为%end% 这样的文件夹组
    echo.
    echo 注: 不一定有终止值命名的文件夹,具体通过起始值和步长值计算
    echo.
    echo 其结果不会超出终止值.
    echo.
    for /l %%i in (%start%,%incr%,%end%) do md %%i
    ping 127.0.0.1>nul -n 3
    echo.
    echo 好了,已完成!
    echo.
    :enter
    echo.
    echo 不对?那么你现在可以删除它们,是否删除?
    echo.
    echo 对了?那很好,不过你也可以选择是否删除?
    echo.
    set/p choice=请选择 ^< y/n ^> :
    if %choice%==n goto exit
    if %choice%==N goto exit
    if %choice%==y goto delete
    if %choice%==Y goto delete
    cls
    echo.
    echo 请仔细阅读文字
    echo.
    echo 按下任意键重试...
    pause>nul
    cls
    goto enter
    
    :delete
    echo.
    for /l %%i in (%start%,%incr%,%end%) do rd /q %%i
    echo.
    echo 好了,删除完成,一切如初!
    echo.
    echo 按下任意键退出...
    pause>nul
    exit
    
    :exit
    echo.
    echo 文件夹组已保留.
    echo.
    echo 按下任意键退出
    pause>nul

      好久没接触 Bat 了,写了一下这个代码,有点小认识了。在 Bat 中比较数值的大小好像不用 < > = 什么的,而是使用以下门道:

              EQU 等于       NEQ 不等于       LSS 小于
              LEQ 小于或等于   GTR 大于          GEQ 大于或等于

    这些就是替代 = < > 这些比较运算符的,用法就是和 = < > 差不多。

      echo %待判断的字符%|findstr /be "[0-9]*" >nul && 执行语句1 || 执行语句2

    0以上就是判断输入字符是否是阿拉伯数字,如果要判断是否为纯字母可以将 [0-9]修改为 [a-z] (大小写通用),如果满足条件则执行语句1,否则执行语句2。

    像 + - / * 这样的算术运算符使用时两边不能有空格。

    像 if else 这样的关键词两边必以空格隔开.

    我也不知我是否用词准确,如有过还望不吝赐教。

  • 相关阅读:
    POJ3061(尺取法)
    POJ2739(尺取法)
    HDOJ4763(KMP原理理解)
    HDOJ5521(巧妙构建完全图)
    UVALive7261(2015ACM/ICPC北京赛区现场赛A)
    POJ1745动态规划
    POJ1273(最大流入门)
    HDOJ5883(欧拉路)
    HDOJ5437(优先队列)
    HDOJ5875(线段树)
  • 原文地址:https://www.cnblogs.com/notfound/p/6952949.html
Copyright © 2011-2022 走看看