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

[文件操作] 【已解决】奇怪的批处理重命名问题

前情提要:
        现有一Test_A文件夹,内有子文件夹数十余,名称不重要且无规律,每个子文件夹内皆有子文件数十余。
        1.欲使Test_A中子文件夹改名为甲_001,乙_002,丙_003,丁_004...
        2.基于1.Test_A子文件夹改名结果,令其子文件改名为乙_001,乙_003,乙_004...
       (规则为:如果文件夹是甲字开头则文件夹内文件要是乙开头,以此类推,甲对乙,乙对丙...加入有三个的话最后丙对甲)
        要求不能有过程文件生成,限batch语言

        a).题外话,batch的for和Python的for自变量好像有多变量的???求教!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. bat放入test_a下。
  2. @echo off
  3. setlocal enabledelayedexpansion
  4. set list=甲乙丙丁戊己庚辛壬癸子丑寅卯辰巳午未申酉戌亥
  5. set /a n=10000
  6. for /f "delims=" %%a in ('dir /b/ad') do (
  7.     set count=!n:~1!
  8.     set /a mod=count%%22
  9.     call set word=%%list:~!mod!,1%%
  10.     rem 天干地支22个文字取余,循环找出甲乙丙丁……
  11.     set /a n+=1
  12.     set sn=!n:~-3!
  13.     rem 文件夹序号
  14.     pushd "%%~a"
  15.     set /a m=10000
  16.     set /a mod+=1
  17.     call set word_2=%%list:~!mod!,1%%
  18.     rem 找出后一个天干地支
  19.     for /f "delims=" %%i in ('dir /b /a-d') do (
  20.         set /a m+=1
  21.         set sn_m=!m:~-3!
  22.         echo;ren %%i !word_2!_!sn_m!%%~xi
  23.         rem 测试后去掉echo;  子文件改名
  24.     )
  25.     popd
  26.     echo;ren %%a !word!_!sn!
  27.     rem 测试后去掉echo; 文件夹改名
  28. )
  29. pause
复制代码
1

评分人数

    • TAT: 一年了,我终于看懂,批处理是有列表的!66 ...技术 + 1

TOP

返回列表