标题: [文件操作] 【已解决】奇怪的批处理重命名问题 [打印本页]
作者: TAT 时间: 2022-3-27 16:55 标题: 【已解决】奇怪的批处理重命名问题
前情提要:
现有一Test_A文件夹,内有子文件夹数十余,名称不重要且无规律,每个子文件夹内皆有子文件数十余。
1.欲使Test_A中子文件夹改名为甲_001,乙_002,丙_003,丁_004...
2.基于1.Test_A子文件夹改名结果,令其子文件改名为乙_001,乙_003,乙_004...
(规则为:如果文件夹是甲字开头则文件夹内文件要是乙开头,以此类推,甲对乙,乙对丙...加入有三个的话最后丙对甲)
要求不能有过程文件生成,限batch语言
a).题外话,batch的for和Python的for自变量好像有多变量的???求教!
作者: for_flr 时间: 2022-3-28 10:42
- bat放入test_a下。
- @echo off
- setlocal enabledelayedexpansion
- set list=甲乙丙丁戊己庚辛壬癸子丑寅卯辰巳午未申酉戌亥
- set /a n=10000
- for /f "delims=" %%a in ('dir /b/ad') do (
- set count=!n:~1!
- set /a mod=count%%22
- call set word=%%list:~!mod!,1%%
- rem 天干地支22个文字取余,循环找出甲乙丙丁……
- set /a n+=1
- set sn=!n:~-3!
- rem 文件夹序号
- pushd "%%~a"
- set /a m=10000
- set /a mod+=1
- call set word_2=%%list:~!mod!,1%%
- rem 找出后一个天干地支
- for /f "delims=" %%i in ('dir /b /a-d') do (
- set /a m+=1
- set sn_m=!m:~-3!
- echo;ren %%i !word_2!_!sn_m!%%~xi
- rem 测试后去掉echo; 子文件改名
- )
- popd
- echo;ren %%a !word!_!sn!
- rem 测试后去掉echo; 文件夹改名
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |