批处理脚本的目的是将指定文件夹中的所有 .mp3
文件的文件名中的数字部分补零成四位,并将文件重命名为新的文件名。以下是脚本的详细解释:
-
@echo off
: 这个命令用于关闭命令回显,即在脚本运行时不在命令提示符窗口上显示执行的命令。 -
setlocal enabledelayedexpansion
: 启用延迟扩展,这是因为在循环中我们需要使用!
来访问变量,而不是%
,以便能够在循环内获取变量的当前值。 -
set "folder_path=D:\z_temp\Amoxicillinnn\Afasy"
: 设置变量folder_path
为指定的文件夹路径。 -
cd /d "%folder_path%"
: 改变当前目录到指定的文件夹路径。 -
for %%F in (*.mp3) do (...)
: 对当前文件夹下所有.mp3
文件进行循环操作。 -
set "filename=%%~nF"
: 获取文件名部分(不包括扩展名)。 -
set "extension=%%~xF"
: 获取文件的扩展名。 -
set "padded_number=0000!filename!"
: 在文件名前面补零至足够的位数,这里是补零到四位数字。 -
set "padded_number=!padded_number:~-4!"
: 仅保留后四位数字,忽略之前添加的多余的零。 -
set "new_filename=!padded_number!!extension!"
: 将补零后的数字和原始扩展名重新组合成新的文件名。 -
ren "%%F" "!new_filename!"
: 使用ren
命令将原始文件名重命名为新的文件名。 -
echo File names have been updated.
: 在命令行中输出提示信息,表示文件名已经被更新。 -
pause
: 暂停脚本的执行,等待用户按下任意键继续。
@echo off
setlocal enabledelayedexpansionset "folder_path=D:\z_temp\Amoxicillinnn\Afasy"
cd /d "%folder_path%"for %%F in (*.mp3) do (set "filename=%%~nF"set "extension=%%~xF"set "padded_number=0000!filename!"set "padded_number=!padded_number:~-4!"set "new_filename=!padded_number!!extension!"ren "%%F" "!new_filename!"
)echo File names have been updated.
pause