これが私の状況です。(Windows XP では) 数百のフォルダーがあり、それぞれにいくつかの .jpg が含まれています。フォルダーの名前を変更する過程で、誤ってすべてのフォルダーを選択したときに、フォルダーの名前がすべて台無しになりました。
私がやろうとしているのは、各フォルダーを反復処理し、ディレクトリ内の最新ファイルの変更日を特定し、フォルダーの名前をYYYY-MM-DD形式でその日付に変更するDOSバッチスクリプトを作成することです。したがって:
Directory of C:\Work_Area\Messed_up_dir_name
07/11/2012 10:01 AM <DIR>
07/11/2012 10:01 AM <DIR>
03/10/2008 11:00 AM 176,640 image1.jpg
08/07/2007 02:27 PM 25,088 image2.jpg
04/12/2007 04:52 PM 132,608 image3.jpg
02/06/2007 06:11 PM 61,086 image4.jpg
なる"C:\Work_Area\2008-03-10\"
ここまで書いてきたのは…
@echo off
REM ITERATE THROUGH EACH DIRECTORY
FOR /F "DELIMS==" %%d in ('DIR "%ROOT%" /AD /B') DO (
ECHO %%d
cd %%d
REM DETERMINE NEWEST FILE
FOR /F %%a in ('DIR /O:-D /B') DO @ECHO %%~ta
cd ..
REM echo Newest=%Newest%
REM move "%%f" "%Newest%"
pause
)
明らかに、これを成功させるには、日付のスラッシュを別の文字に変更する必要があります。誰かがこれで私を助けることができれば、それは大歓迎です!