我有圖片的文件夾,我已按日期命名,用的03282013形式的日期,這意味着3月28日2013年重命名多個文件夾有不同的命名方案
了很多我用更多的開始顯而易見,易於排序,命名方案2013-03-28,含義2013年3月28日。
是否有一種直接的方式,使用批處理文件,使用新格式重命名我所有的舊文件夾?
示例:重命名03282013至2013年3月28日等等
我有圖片的文件夾,我已按日期命名,用的03282013形式的日期,這意味着3月28日2013年重命名多個文件夾有不同的命名方案
了很多我用更多的開始顯而易見,易於排序,命名方案2013-03-28,含義2013年3月28日。
是否有一種直接的方式,使用批處理文件,使用新格式重命名我所有的舊文件夾?
示例:重命名03282013至2013年3月28日等等
試試這個,取出最後echo
(前ren
),若輸出OK:
@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格式中,所有其他文件夾保持不變。
下面的批處理文件重命名從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!
)
安東尼
使用PowerShell或一流的編程語言(其中字符串操作是更好)可能會爲此更好地工作。這就是說:http://www.dostips.com/DtTipsStringManipulation.php –
需要更多信息 - 目標目錄是否有「mmddyyyy」作爲它們的名字或僅僅是名稱的一部分?如果它只是一個部分,命名模式是什麼? – Magoo