我必须重命名几个文件夹。旧文件夹是随机命名的,新名称允许一致的命名协议。我已经将现有文件夹与新名称列表进行了协调,但是有数百个要重命名的文件夹,并且需要手动完成。
旧名称和新名称通常非常不同。例如:
old:john l,smth new:smith_john_04082013
所以我想做的是在程序的一个部分中放置一个旧名称列表,在另一个部分中放置新名称列表,然后循环重命名它们的文件夹列表,直到最后一个完成
例如
john l,smth (to) smith_john_04082013
mary-jones 42nd street (to) jones_mary_03122013
wil-h-davis (to) davis_william_02122012
等
我知道如何在dos中使用rename命令,但所有“似乎”只是更改一个目录的名称,即重命名为“john l,smth”“smith_john_04082013”
我尝试过这样的事情:
rename "john l,smth" "smith_john_04082013"; "mary-jones 42nd street" "jones_mary_03122013"; "wil-h-davis" "davis_william_02122012"
可能使用分隔符的概念是多重命名的技巧,但这也不起作用。
如果有人知道如何做到这一点会非常有帮助。
TIA
答案 0 :(得分:1)
只需创建一个批处理文件(带有.bat
扩展名的纯文本文件,例如rename_folders.bat
),并将每个操作列为一行:
ren "john l,smth" "smith_john_04082013"
ren "mary-jones 42nd street" "jones_mary_03122013"
ren "wil-h-davis" "davis_william_02122012"
(ren
是rename
的简称,可以节省一点打字。)
在文件中包含所有行后,将其保存在要运行的文件夹中,在该文件夹中打开命令提示符,然后运行批处理文件(.bat
扩展名是可选的你运行它,因为它是已知的可执行文件扩展名之一):
C:\YourBaseFolder>rename_folders
或
C:\YourBaseFolder>rename_folders.bat