DOS/BAT

关注公众号 jb51net

关闭
首页 > 脚本专栏 > DOS/BAT > bat批量修改文件名

Windows系统使用bat批量修改文件名的使用示例

作者:weixin_56337147

bat是非常好用的批处理工具,很多时候需要批量的修改文件名称,本文就来介绍一下Windows系统使用bat批量修改文件名的使用示例,具有一定的参考价值,感兴趣的可以了解一下

编写运行.bat文件

新建文本文档,输入如下内容:

@echo off
chcp 65001
setlocal enabledelayedexpansion
rem 设置要查找和替换的字符串
set "search=aaa"
set "replace=bbb"
rem 设置文件名匹配模式,例如*.txt表示修改.txt文件,*.*表示修改所有文件
set "filePattern=*.txt"
rem 设置目标文件夹的路径
set "folderPath=C:\YourFolderPath"
rem 切换到目标文件夹
cd /d "%folderPath%"
rem 遍历文件并重命名
for %%f in (%filePattern%) do (
    set "filename=%%~nf"
    set "newFilename=!filename:%search%=%replace%!"
    ren "%%f" "!newFilename!%%~xf"
)
echo 文件名修改完成。
pause

请按照以下步骤执行此批处理脚本:

请谨慎操作,并在执行之前备份文件,以防需要还原。

folderPath设置为bat文件所在的文件夹

@echo off
chcp 65001
setlocal enabledelayedexpansion
rem 获取批处理文件所在的文件夹路径
for %%I in ("%~dp0.") do set "folderPath=%%~fI"
rem 设置要查找和替换的字符串
set "search=aaa"
set "replace=bbb"
rem 设置文件名匹配模式,例如*.txt表示修改.txt文件,*.*表示修改所有文件
set "filePattern=*.txt"
rem 切换到目标文件夹
cd /d "%folderPath%"
rem 遍历文件并重命名
for %%f in (%filePattern%) do (
    set "filename=%%~nf"
    set "newFilename=!filename:%search%=%replace%!"
    ren "%%f" "!newFilename!%%~xf"
)
echo 文件名修改完成。
pause

在上述代码中,"%~dp0" 用于获取批处理文件所在的文件夹路径,然后将其赋给 folderPath 变量,以便在后续的操作中使用。这样,脚本将工作在批处理文件所在的文件夹中,您可以在该文件夹中执行文件名修改操作。

代码解释

for %%I in ("%~dp0.") do set "folderPath=%%~fI"

 这段批处理脚本的目的是获取包含批处理文件的文件夹的路径,并将该路径存储在名为 folderPath 的变量中。让我解释其中的几个关键部分:

总之,这段代码的作用是获取批处理文件所在文件夹的完整路径,并将其存储在 folderPath 变量中,以便在脚本的后续部分中使用该路径。这对于需要在批处理脚本中引用脚本所在文件夹的情况非常有用,因为它允许脚本在不考虑具体位置的情况下访问其所需的资源或文件。

for %%f in (%filePattern%) do

 for %%f in (%filePattern%) do 是一个批处理中的循环结构,它的目的是遍历满足指定文件模式的文件,并对每个文件执行一组命令。让我解释其中的几个关键部分:

综合起来,for %%f in (%filePattern%) do 的作用是遍历满足文件模式 %filePattern% 的文件,并对每个文件执行 do 后面的一组命令。这使得批处理脚本能够对一组文件执行相同的操作,例如批量重命名、复制或删除文件等。

set "filename=%%~nf"

set "newFilename=!filename:%search%=%replace%!"

ren "%%f" "!newFilename!%%~xf"

这个批处理文件中的代码用于重命名文件名中的部分文本。让我解释一下每一行代码的含义:

总之,这个批处理文件用于查找文件名中的特定文本(%search%)并将其替换为其他文本(%replace%),然后将文件重命名为新的文件名,同时保留原始文件的扩展名。

bat的输出终端乱码

如果您在运行批处理文件时在终端中看到乱码,这可能是由于字符集或编码问题引起的。

字符集不匹配:确保终端和批处理文件都使用相同的字符集,通常是 UTF-8。可以通过在批处理文件的开头添加以下行来设置字符集:

@echo off
chcp 65001  (将字符集设置为 UTF-8)

到此这篇关于Windows系统使用bat批量修改文件名的使用示例的文章就介绍到这了,更多相关bat批量修改文件名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文