1

我有很多按日期命名的图片文件夹,日期格式为 03282013,表示 2013 年 3 月 28 日。

我已经开始使用更明显且易于排序的命名方案 2013-03-28,即 2013 年 3 月 28 日。

有没有直接的方法,使用批处理文件,使用新格式重命名我所有的旧文件夹?

示例:将 03282013 重命名为 2013-03-28 等等

4

2 回答 2

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!
)

安东尼奥

于 2013-03-29T05:50:27.440 回答
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 格式的文件夹,所有其他文件夹保持不变。

于 2013-03-28T22:12:08.253 回答