- ベストアンサー
複数のファイルを同じ名前のフォルダーに一気に移動す
同一フォルダー内に300件の画像ファイルと同じ名のフォルダーを300個作成したのですが、このファイルをそれぞれ同じ名前のフォルダーに一気に移動する方法を教えてください。 現状は、 一つのフォルダの中に、下記の様な違う名前の画像ファイルが300個と同じ名前のフォルダ(拡張子なし)が300個あります。 <ファイル300個> 〇〇〇〇.jpeg △△△△.jpeg ▢▢▢▢.jpeg <フォルダ300個> 〇〇〇〇 △△△△ ▢▢▢▢ フォルダはバッチで作成しました。 どなたか移動する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
別のダミーデータで充分デバッグして実行してください! ◆同じフォルダーに入れる場合のバッチファイル 問題点:Dirで拡張子まで指定しないとバッチファイルまで移動の対象となりBATファイルが移動して上手く動かない。あえて拡張子jp*のみDirしている。rem md %foldername% はフォルダを作成するコマンドなのでREMで無効化しています。(フォルダ作成までするならremを外して) :----------------move.bat @echo off @echo 処理しています。しばらくお待ちください。 for /F "delims=" %%f in ('dir /b *.jp*') do call :sub "%%f" @echo 処理が終わりました。 pause exit /b :sub set filename=%~1 set foldername=%~n1 rem md %foldername% move /-Y "%filename%" "%foldername%" goto :EOF ◆一個上位のフォルダに作るバッチファイル フォルダ:傘下のWORKと言うフォルダに写真とそのフォルダがある場合 CD でフルパス指定で別の場所にバッチを置くか、一つ上で下記コーディング :----------------move2.bat @echo off @echo 処理しています。しばらくお待ちください。 CD WORK for /F "delims=" %%f in ('dir /b') do call :sub "%%f" @echo 処理が終わりました。 pause exit /b :sub set filename=%~1 set foldername=%~n1 rem md %foldername% move /-Y "%filename%" "%foldername%" goto :EOF 【参考リンク】 ファイルをキーワードでフォルダに振り分けるバッチ http://d.hatena.ne.jp/kazuki-kido/20070803/1186159519 バッチファイルでファイルパスからファイル名や拡張子を自由に取り出す方法 http://orangeclover.hatenablog.com/entry/20101004/1286120668 以上 参考まで
その他の回答 (1)
- kteds
- ベストアンサー率42% (1883/4442)
お礼
ありがとうございます!! 一瞬にして複数のファイルが同名のフォルダーに振り分けられました。感動的です! このような作業がこれから継続的にやらなければいけないので、時間を短縮できてとても嬉しいです。この作業をするまで、Windowsにこのような機能があると知りませんでした。BATファイルの意味や記述の仕組みがわからないので、これからもっと知りたいという意欲がわいてきました。 参考リンクまで教えていただき、ありがとうございました。