自动重命名批处理文件



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

@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

最新更新