自分メモ。家の曲データフォルダが気に食わない事になっていたので修正。
treeコマンドで確認すると
PS D:\ServerFolders\ミュージック\MP3 Albums> tree フォルダー パスの一覧: ボリューム XXXXX ボリューム シリアル番号は XXXX-XXXX です D:. ├─Diana Krall - Quiet Nights (2009) │ └─Diana Krall - Quiet Nights (2009) ここにMP3ファイル多数
みたいな感じにフォルダの中にさらに同じフォルダが。これは気持ち悪い。自分のポリシーとして曲データは
アーティスト名 – アルバム名
としたい(だからiTunesのフォルダ命名も気に食わないのだけれど)。最初は手で直してたけどキリがなくなったのでバッチで処理したメモ。
ireco.bat
set LIBDIR=\ServerFolders\ミュージック\MP3 Albums cd %LIBDIR% :LOOP for /f "delims=" %%a IN (dirlist.txt) DO CALL :MOVE "%%a" GOTO END :MOVE cd %1 cd %1 IF ERRORLEVEL 1 ( cd %LIBDIR% EXIT /B 0 ) MOVE *.* .. cd .. rmdir %1 /s /q cd %LIBDIR% EXIT /B 0 :END ECHO End.
対象フォルダ(\ServerFolders\ミュージック\MP3 Albums)上で
dir /b /ad > dirlist.txt
でディレクトリのリストを作っておく。
あとはフォルダリストから1行づつ読み込み、1階層降りる。さらにもう1階層降りて、降りられたら中のファイルを上に上げて入れ子フォルダを消す。
それだけ。
せっかく動確とってから使ったので残しておきます。