【发布时间】:2019-07-21 17:36:34
【问题描述】:
目前没有找到类似的问题,所以我试着解释一下这个问题:
我有大量文件位于"C:\images" 内的子文件夹中
我在两列中有一个名称列表,因此第一列是旧文件名,第二列是新文件名。我想将该列表更改为批处理文件。
名称非常独特,所以我想制作批处理文件 - 这将是每个要重命名的文件的命令。
RENAME "C:\images\768e11ab.jpg" "4ca5d042.jpg"
RENAME "C:\images\5402c708.jpg" "b802820b.jpg"
RENAME "C:\images\1c039e0e.jpg" "80ce9797.jpg"
etc...
这很简单,只是文件分散在子文件夹中。有什么方法可以创建命令,以便在"C:\images" 的所有子文件夹中查找该特定文件并重命名它。
以下一些类似的问题尝试了这个,没有结果:
for /r "C:\images\" "%%~G" (768e11ab.jpg) do "4ca5d042.jpg"
另外,尝试为此使用一些重命名应用程序,但是当我尝试重命名大文件列表时它们会冻结,所以我会避免它们并使用批处理文件。另外,我想使用这种方式,在每个文件的批处理文件中有一行,因为我使用它更简单(稍后再更改)。感谢您的帮助。
【问题讨论】:
-
所以你有不同的子文件夹中的文件;你有文件名,但没有它们的位置。正确的? (只是想澄清一下,因为你的代码和你的文字不同意)
-
您的列表文件是什么样的?列是如何分开的?你的大数字的规模是多少?您可以从列表中构建查找表,迭代文件,如果表中有条目,则重命名文件。
-
要了解如何使用命令,请打开命令提示符窗口并输入
command /?。例如,要查看for命令的使用信息,请使用for /?。
标签: batch-file cmd batch-rename