仅重命名文件列表的第一部分(Windows 8.1 通过 cmd 或 Git Bash)

仅重命名文件列表的第一部分(Windows 8.1 通过 cmd 或 Git Bash)

我需要重命名一批文件(在 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即可重命名文件

  • 建议您备份您正在编辑的所有内容。

相关内容