2012年3月15日木曜日

ファイルを1つ上の階層に移動

ファイルやフォルダーを1つ上の階層に移動する機能を、右クリックメニューに追加する方法です。

「ファイルを上の階層に移動」のメニューを追加

複数のファイルやフォルダーの移動が可能です。
ドライブのルートより上へは移動しないようになっています。
移動先に同名のファイルがある場合は選択肢がでます。


  1. レジストリ キーを作成します。

    HKCU\Software\Classes\AllFilesystemObjects\shell\Moveup\command

    HKCU\Software\Classes\AllFilesystemObjects\shell\Moveup\command

  2. Moveup(既定) のデータを ファイルを上に移動 にします。

    @="ファイルを上に移動"

  3. command(既定) のデータをcmd /c move /-Y "%1" ..にします。
    末尾は、ドットドット(連続のドット)です。

    @="cmd /c move /-Y \"%1\" .."

実用しているものは、icon 値でアイコンを表示して、Extended 値で Shift キーを押したときだけメニューが表示されるようにしています。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\AllFilesystemObjects\shell\Moveup]
@="ファイルを上に移動"
"icon"="shell32.dll,-255"
"Extended"=""

[HKEY_CURRENT_USER\Software\Classes\AllFilesystemObjects\shell\Moveup\command]
@="cmd /c move /-Y \"%1\" .."

HKCU\Software\Classes を HKLM にすると、全てのユーザーが対象になります。

元に戻すには、今回追加したキーや値を削除します。

確認が必要ですが、通常のアプリケーションは、ここを使用しませんので、ほとんどの場合AllFilesystemObjects キーの削除で大丈夫だと思います。


Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Classes\AllFilesystemObjects]