我需要通过将日期格式从YYYYMMDD移动到MMDDYYYY来重命名多个文件(超过500个),如下所示。请记住,日期已经存在,并且目录中的文件已经具有正确的格式,如Filename_08282014.csv。因此,_2014应该作为更改不正确文件名的基础。 我试图找到一行DOS命令或批处理脚本,但空出来。谢谢你的帮助。
LoadAccount_20140915.csv到LoadAccount_09152014.csv
LoadUser_20140719.csv到LoadUser_07192014.csv
。 。 。 。 。
答案 0 :(得分:0)
@echo off
setlocal enableDelayedExpansion
set "root_dir=c:\whatever\"
pushd "%root_dir%"
for %%a in ("load*.csv") do (
set "filename=%%~na"
set "filename_ex=%%~nxa"
set datepart=!filename:~-8!
set year=!datepart:~0,4!
set month=!datepart:~4,2!
set day=!datepart:~6,2!
set name=!filename:~0,-8!
ren "!filename_ex!" "!name!!month!!day!!year!.csv"
)
只需将root_dir
更改为csv所在的位置。这将处理以load开头的所有csv,但您可以更改掩码。