自动重命名批处理文件

时间:2014-02-11 01:12:51

标签: batch-file rename

我需要创建一个批处理文件,它将从文件名中删除前四个字符并转储其余字符。所以基本上我可能有文件“1234_whatever.txt”,我需要它将文件重命名为“1234.txt”文件名的格式将始终相同,但文件名将始终更改。最重要的是,我需要这一切都是自动的,无需用户干预。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL
SET "sourcedir=."
FOR %%a IN ("%sourcedir%\*_*.*") DO (
 FOR /f "tokens=1*delims=_" %%b IN ("%%a") DO IF NOT "%%c"=="" (
 ECHO(REN "%%a" %%~nb%%~xa
 )
)

GOTO :EOF

您需要将sourcedir的设置更改为您的目录名。

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

请注意,longfilenames的SHORT文件名通常包含下划线,并且会被dir命令命中。因此需要if not "%%c==""

如果您只想处理*_*.*个文件,可以将*_*.txt更改为.txt