0
我需要创建一个批处理文件,将从文件名中去掉前四个字符并转储剩余的文件。所以基本上我可能有文件“1234_whatever.txt”,我需要它将文件重命名为“1234.txt”文件名的格式将始终相同,但文件名将始终更改。最重要的是,我需要这一切都是自动的,无需用户干预。任何帮助,将不胜感激自动重命名批处理文件
我需要创建一个批处理文件,将从文件名中去掉前四个字符并转储剩余的文件。所以基本上我可能有文件“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
。
如果它在每种情况下是一个文件,那么它可以更简单地完成。或者它是一个文件夹已满?或子文件夹? – foxidrive