我需要重命名一批文件(在 W8.1 中使用 cmd 或 Git Bash 终端) 从:
"Cymatics - Oracle 808 1 - C.wav"
"Cymatics - Oracle 808 2 - C#.wav"
"Cymatics - Oracle 808 3 - D.wav"
"Cymatics - Oracle 808 4 - D#.wav"
"Cymatics - Oracle 808 5 - D#.wav"
预期结果:
"Oracle 808 1 - C.wav"
"Oracle 808 2 - C#.wav"
"Oracle 808 3 - D.wav"
"Oracle 808 4 - D#.wav"
"Oracle 808 5 - D#.wav"
提前致谢!
答案1
您可以使用for /f
循环来执行此操作:
@echo off
for %%i in (*.wav) do set "_name=%%~nxi" && (
cmd/v/c "ren "%%~fi" "!_name:Cymatics - =!"")
1)使用for
逐一获取file.wav
for %%i in (*.wav)
2)_n
通过循环设置为文件名%%~n
)do set "_n=%%~nxi"
4)使用cmd/v/c
,执行命令ren
,传递循环变量的完整路径,并通过使用子字符串从变量中"%%~fi"
删除字符串来定义目标名称Cymatics -
!_n!
!_n: Cymatics - =[nothing]!
set "_n=%%~nxi" && cmd/v/c "ren "%%~fi" "!_n: Cymatics - =!""
进一步阅读:
[√]批量子字符串
答案2
使用 Git bash。
for f in *.wav; do echo mv -v "$f" "${f#*- }"; done
如果你认为输出没问题,删除
echo
即可重命名文件建议您备份您正在编辑的所有内容。