我有很多用于按日期命名的图片文件夹,日期格式为03282013,即2013年3月28日。
我已经开始使用更明显,易于排序的2013-03-28命名方案,即2013年3月28日。
使用批处理文件是否有直接的方式使用新格式重命名所有旧文件夹?
示例:将03282013重命名为2013-03-28,依此类推
答案 0 :(得分:0)
尝试此操作,删除最后一个echo
(ren
之前),如果输出正常:
@echo off &setlocal
for /f "tokens=1,2" %%a in ('for /f "delims=" %%i in ^('dir /ad /b .^^^| findstr /b [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$'^) do ^
@set "fname=%%i"^&^
@call set "month=%%fname:~0,2%%"^&^
@call set "day=%%fname:~2,2%%"^&^
@call set "year=%%fname:~-4%%"^&^
@call set "fname=%%year%%-%%month%%-%%day%%"^&^
@call echo "%%~i" "%%fname%%"') do echo ren "%%~a" "%%~b"
以正确的MMDDYYYY格式搜索文件夹,所有其他文件夹保持不变。
答案 1 :(得分:0)
下面的批处理文件将当前目录中的所有文件夹从MMDDYYYY格式重命名为YYYY-MM-DD格式:
@echo off
setlocal EnableDelayedExpansion
for /F %%a in ('dir /B /AD') do (
set name=%%a
ren %%a !name:~4!-!name:~0,2!-!name:~2,2!
)
安东尼奥