2012年3月15日木曜日

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

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

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

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


レジストリ キーを作成します。
HKCU\Software\Classes\AllFilesystemObjects\shell\Moveup\command

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

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

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

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]