1

2013 年 3 月 28 日を意味する 03282013 の形式の日付で名前を付けた写真用のフォルダーがたくさんあります。

私は、2013 年 3 月 28 日を意味する 2013-03-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

これを試して、出力がOKの場合は最後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 に答える