本帖最后由 aloha20200628 于 2025-1-6 18:18 编辑
回复 1# skpkmon
以下代码存为 test.bat 运行,但不要存于歌曲文件所在目录下,代码中假定歌曲名内不再有前缀所包含的"数字"与"标点符号",假定歌曲文件所在目录(须为全路径)为 d:\music 可由楼主自定义,其中变量 _c 定义须删除的"数字"与"标点符号",可由楼主因需增减- @echo off &cd /d "d:\music" &setlocal &set "_c=0123456789-_. "
- for %%F in (*) do for /f "delims=%_c%" %%a in ("%%~nF") do if /i "%%a" neq "%%~nF" ren "%%F" "%%a%%~xF"
- pause &exit/b
复制代码 若歌曲名内有前缀所包含的"数字"与"标点符号",须改用以下版本,其中变量 _c 定义须删除的"数字"与"标点符号",可由楼主因需增减- @echo off &cd /d "d:\music" &setlocal &set "_c=0123456789-_. "
- for %%F in (*) do (
- set "_a=%%~nF" &setlocal enabledelayedexpansion &(call :cut#H)
- if /i "%%~nF" neq "!_a!" ren "%%F" "!_a!%%~xF" &endlocal)
- pause &exit/b
- :cut#H
- if "!_a!"=="" (exit/b) else set "c=!_a:~,1!"
- if "!_c:%c%=!"=="!_c!" (exit/b) else set "_a=!_a:~1!" &goto :cut#H
复制代码
|