批量更改文件名

时间:2014-05-02 17:02:55

标签: batch-file batch-rename

我有233个文件需要更改文件名。只需在文件名中查找连字符( - )并将连字符右侧的文本替换为连字符左侧和左侧的点(。)。

这是一个示例文件名和使用的模式/命名约定 电影名称(9999) - Song.kam的名称,其中9999是年份

所有文件都具有相同的模式。我想颠倒顺序 歌曲名称 - 电影名称(9999).kam,其中9999是年份

注意:在文件名中,a之后的每个单词都在CAPS中

如果不可能,我将不得不手动完成。有人可以给我一个批处理脚本来执行此操作或告诉我是否可以执行此操作?

谢谢。

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR /f "tokens=1,3delims=)-." %%a IN (
 'dir /b /a-d "%sourcedir%\*) - *.kam" '
 ) DO FOR /f "tokens=*" %%u IN ("%%b") DO ECHO REN "%sourcedir%\%%a) -%%b.kam" "%%u - %%a).kam"

GOTO :EOF

这应该可以解决您的问题。你需要改变你的sourcedir当然。

为了测试目的,所需的REN命令仅为ECHO在您确认命令正确后,将ECHO REN更改为REN以实际重命名文件。