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

rag*_*dra 3 batch-file batch-processing

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

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

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

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

Test001.txt
user001.txt
fjkdjdl001.txt

我想将它们转换为

Test0003.txt
user003.txt
等.

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

+ ren如何用用户输入的字符进行操作.请帮帮我.

Inf*_*ion 5

在批处理文件中使用以下命令,例如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%!"
)
Run Code Online (Sandbox Code Playgroud)

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

样本.bat


dbe*_*ham 5

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

ren *001.txt *03.txt
Run Code Online (Sandbox Code Playgroud)

请参阅Windows RENAME命令如何解释通配符?解释为什么这有效.