【发布时间】:2015-09-14 17:42:33
【问题描述】:
我需要一个 Windows 批处理脚本来递归地使用父文件夹的名称重命名文件和文件夹并添加前缀/后缀。
我有 2 个文件夹 fol1 和 fol2,目录结构如下:
fol1
├───fol1.1
│ └───text.txt
├───fol1.2
│ └───text.txt
fol2
├───fol2.1
└───fol2.2
我想将树重命名为:
lon_fol1_par
├───lon_fol1.1_par
│ └───fol1.1_text.txt
├───lon_fol1.2_par
│ └───fol1.2_text.txt
lon_fol2_par
├───lon_fol2.1_par
└───lon_fol2.2_par
帮我改名的代码如下:
FOR /F "tokens=1 delims=" %%A IN ('DIR /B /S /A:D') DO (
FOR /F "tokens=1 delims=" %%B IN ('DIR /B /A:-D "%%A"') DO (
pushd %%A
FOR %%I IN (.) DO RENAME "%%A\%%B" "<Name I want>"%%~xB
popd ..
)
)
【问题讨论】:
-
是的,有可能;你试过什么了?请记住,SO 不是编码服务...
-
文件夹中是否只有 .txt 文件?
-
是的@aschipfl,我尝试了一些东西。 FOR /F "tokens=1 delims=" %%A IN ('DIR /B /S /A:D') DO ( FOR /F "tokens=1 delims=" %%B IN ('DIR /B /A :-D "%%A"') DO ( pushd %%A FOR %%I IN (.) DO RENAME "%%A\%%B" "%array[1]%_%%~nB_%%~ nI_%array[2]%_%array[3]%%%~xB" popd .. ) )
-
抱歉……我是新手。请设法仔细阅读@aschipfl。谢谢:)
标签: windows batch-file command-line