2014-02-11 222 views
0

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

+0

如果它在每种情况下是一个文件,那么它可以更简单地完成。或者它是一个文件夹已满?或子文件夹? – foxidrive

回答

0
@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以实际重命名文件。

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

如果您只希望处理.txt文件,您可能希望将*_*.*更改为*_*.txt