Loading

新建以阿拉伯数字序列命名的文件夹组

  分享一个比较鸡肋的东西,此 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 这样的关键词两边必以空格隔开.

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

posted @ 2018-01-30 11:24  notfound945  阅读(835)  评论(0编辑  收藏  举报