我有一个产品图片目录,我想将其重命名为产品的 UPC。我在电子表格中保存了文件名映射,因此我可以将其导出为 CSV 或制表符分隔文件。
给定 filenames.txt:
CurrentName NewName
DSCN4033.png 750732000259.png
DSCN4023.png 750732000013.png
DSCN4024.png 750732000020.png
DSCN4022.png 750732000099.png
DSCN4033.png 将变为 750732000259.png
如果我使用 Bash 执行此操作,命令将是
同时读取旧的新内容;执行 mv "$old" "$new";完成 < filenames.txt
这是工作中的一个项目,必须使用 Windows 批处理文件完成,以便我的继任者不必处理 Cygwin。
答案1
如果您当前的名称中没有空格,则以下命令应该可以在命令行中运行:
for /f "skip=1 tokens=1*" %A in (filenames.txt) do ren "%A" "%B"
如果放入批处理文件中,百分比必须加倍:
@for /f "skip=1 tokens=1*" %%A in (filenames.txt) do ren "%%A" "%%B"
FOR 是 CMD.EXE 中最复杂的内部命令。使用命令行中的help for
或for /?
来访问文档。