読者です 読者をやめる 読者になる 読者になる

ゴミ溜め@技術系日常系雑文

主にWeb技術やそのほかつまづいたこととか引っかかって調べたこととかをまとめてます。

はてなダイアリーから引っ越しました。)

右クリックで選択したファイルを一括して新しいフォルダに移動するバッチ書いた

環境最適化 Windows バッチ コマンドプロンプト

複数のファイルを同じフォルダに格納したいんだけど、いちいち新規フォルダ作成→ファイルを選択→ドラッグ&ドロップって言う操作が面倒なので、複数のファイルを選択して、右クリック(コンテキスト)メニューから一括で出来るようにした。

つまり、これが、
f:id:AyeBee_TY:20140610000751p:plain

こうなる。
f:id:AyeBee_TY:20140610000823p:plain

やり方

まず、下記のバッチファイルを作成。


新しいフォルダに格納.bat

@ECHO OFF

SET newdir=%~d1%~p1%~n1

MKDIR "%newdir%"

:start
IF "%~1" == "" GOTO finish

MOVE "%~1" "%newdir%\%~n1%~x1"

:next
SHIFT
GOTO start

:finish
EXIT

(複数の引数を順次処理する方法は複数ファイルをパラメータにもらって順次処理するバッチファイルのテンプレ - みちのはてなを参考にした。)

これを、右クリックメニューの「送る」に登録する。
SendToフォルダに直接バッチファイルを置くか、バッチへのショートカットを作成すればOK。

  • SendToフォルダの在処:
    • win 2000,XPであれば、 <%HOMEPATH%\SendTo>
    • win Vis・・・7, Server2008であれば、 <%AppData%\Microsoft\Windows\SendTo> (あるいは、「ファイル名を指定して実行」で「shell:sendto」でOK。)


新規に作成するフォルダ名は、見分けやすいようにフォーカス中のファイル名とした。

以上。