如何在批处理中将部分文件名替换为其他名称

时间:2013-12-09 11:35:37

标签: batch-file batch-processing

我一直在尝试将目录中某些文件名的一部分替换为新名称。我已经使用带有for循环的REN命令找到了许多关于此替换的示例。

示例:如果我想将test001替换为test003,我可以使用REN替换。

但是,如果我通过set \p命令将001和003作为用户输入,并且我希望输出为test003,则输入test001。

我的文件夹中有以下文件:

  

Test001.txt
  user001.txt
  fjkdjdl001.txt

我想将它们转换为

  

Test0003.txt
  user003.txt
  等等。

但是001,003是用户输入的。

如何使用用户输入的字符进行操作。请帮助我。

2 个答案:

答案 0 :(得分:5)

通常,您需要一个小批量脚本来执行一些看似简单的重命名操作。但是,在这种情况下,您只需要REN命令。

ren *001.txt *03.txt

请参阅How does the Windows RENAME command interpret wildcards?,了解其工作原理。

答案 1 :(得分:3)

在批处理文件中使用以下命令,例如sample.bat

@echo off
setlocal enableDelayedExpansion
set /p "string1=Enter the sequence to be replaced : "
set /p "string2=Enter the new sequence  : "
for %%F in (*%string1%.*) do (
  set "filename=%%F"
  ren "!filename!" "!filename:%string1%=%string2%!"
)

您可以使用以下命令从命令提示符执行此批处理文件:

  

<强> sample.bat