【发布时间】:2017-03-02 20:40:31
【问题描述】:
我想将我的文件夹名称附加到子文件夹中所有可用的 .txt 文件中。下面是文件/目录结构。我需要在 Windows BATCH 脚本中实现这一点。
C:\Source\Source1\1\a.txt C:\Source\Source1\1\b.txt
C:\Source\Source1\2\a.txt C:\Source\Source1\2\b.txt
C:\Source\Source2\3\a.txt C:\Source\Source2\3\b.txt
以上文件应重命名如下:
C:\Source\Source1\1\1_a.txt C:\Source\Source1\1\1_b.txt
C:\Source\Source1\2\2_a.txt C:\Source\Source1\2\2_b.txt
C:\Source\Source2\3\3_a.txt C:\Source\Source2\3\3_b.txt
类似,我有 Source1...Source30,在每个源目录下,我会有多个不同编号的文件夹。我需要重命名这些目录下的所有文件并将数字(目录名)附加到文件名。
到目前为止,以下是我写的:
for %%* in (.) do set CurrDirName=%%~nx*
echo %CurrDirName%
for /r %%x in (*.txt) do ren "%%x" "%CurrDirName%_%%x"
有了这个,我可以在一个目录中实现它。我不能让它递归。请问各位大神能帮我解决一下吗?
【问题讨论】:
-
这不是dos,请去掉dos标签
标签: batch-file cmd windows-scripting