下面是一个使用批处理脚本来根据内容中找到的两个字符串来重命名文件名的示例:
@echo off
setlocal enabledelayedexpansion
set "searchString1=abc" // 第一个要搜索的字符串
set "searchString2=def" // 第二个要搜索的字符串
set "renameString=newName" // 新的文件名
for /r %%F in (*) do (
set "filename=%%~nxF"
set "newFilename=!filename:%searchString1%=%renameString%!"
set "newFilename=!newFilename:%searchString2%=%renameString%!"
if not "!filename!"=="!newFilename!" (
ren "%%F" "!newFilename!"
)
)
在上面的示例中,我们首先设置两个要搜索的字符串searchString1
和searchString2
,以及新的文件名renameString
。然后,我们使用for /r
循环遍历当前目录及其子目录中的所有文件。
在每次迭代中,我们获取当前文件的文件名(不包括扩展名)并将其存储在变量filename
中。然后,我们使用字符串替换操作!filename:%searchString1%=%renameString%!
和!newFilename:%searchString2%=%renameString%!
来替换文件名中的搜索字符串为新的文件名。
最后,我们检查新的文件名是否与原始文件名不同,如果是,则使用ren
命令将文件重命名为新的文件名。
请注意,上述示例中的搜索和替换是区分大小写的。如果你想要进行不区分大小写的搜索和替换,可以使用/i
选项,例如:set "newFilename=!filename:%searchString1%=%renameString%/i!"
。
另外,请谨慎使用批处理脚本来重命名文件,确保在运行脚本之前进行备份,并在测试期间使用一个副本目录。