こんにちは、阿久津です。Windows OSの場合、ファイルやフォルダーの属性を変更するには、プロパティダイアログを呼び出さなければなりません。本来ならコンテキストメニューから操作できた方が簡単ですが、属性操作は使用頻度も多くないため、現在のような仕様に決められたのでしょう。しかし、属性操作を頻繁に使用するユーザーに取って、対象のプロパティダイアログを呼び出し、チェックボックスによる操作を行う2ステップの操作は煩雑以外の何物でもありません。

そこで今週は、コンテキストメニューからファイル/フォルダー属性を変更するチューニングをお届けしましょう。なお、Windows 7の初期状態では隠し属性を付加するとファイルやフォルダーが見えなくなってしまいますので、事前にフォルダーオプションダイアログで、<隠しファイル、隠しフォルダー、および隠しドライブを表示する>を選択してください。

1.管理者権限で「regedit」を実行します。
2.レジストリエディターが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーを開きます。
3.shell\Hideキーを作成し、既定値のデータ値を「有効:隠しファイル」に変更します。
4.shell\Hide\commandキーを作成し、既定値のデータ値を「attrib +h "%1"」に変更します。
5.shell\Unhideキーを作成し、既定値のデータ値を「無効:隠しファイル」に変更します。
6.shell\Unhide\commandキーを作成し、既定値のデータ値を「attrib -h "%1"」に変更します。
7.shell\File-Read-onlyキーを作成し、既定値のデータ値を「有効:読み取り専用ファイル」に変更します。
8.shell\File-Read-only\commandキーを作成し、既定値のデータ値を「attrib +r "%1"」に変更します。
9.shell\Unset-File-Read-onlyキーを作成し、既定値のデータ値を「無効:読み取り専用ファイル」に変更します。
10.shell\Unset-File-Read-only\commandキーを作成し、既定値のデータ値を「attrib -r "%1"」に変更します。
11.shell\Hide-allキーを作成し、既定値のデータ値を「有効:隠しファイル/フォルダー」に変更します。
12.shell\Hide-all\commandキーを作成し、既定値のデータ値を「attrib +h "%1\*" /S /D」に変更します。
13.shell\Unhide-allキーを作成し、既定値のデータ値を「無効:隠しファイル/フォルダー」に変更します。
14.shell\Unhide-all\commandキーを作成し、既定値のデータを「attrib -h "%1\*" /S /D」に変更します。
15.shell\Folder-Read-onlyキーを作成し、既定値のデータを「有効:読み取り専用フォルダー」に変更します。
16.shell\Folder-Read-only\commandキーを作成し、既定値のデータを「attrib +r "%1\*.*" /S /D」に変更します。
17.shell\Unset-Folder-Read-onlyキーを作成し、既定値のデータを「無効:読み取り専用フォルダー」に変更します。
18.shell\Unset-Folder-Read-only\commandキーを作成し、既定値のデータを「attrib -r "%1\*.*" /S /D」に変更します。
19.HKEY_CLASSES_ROOT\*\shellキーを開き、Hidden File Attributesキーを作成します。
20.文字列値「MUIVerb」を作成し、値のデータを「隠し属性(&1)」に変更します。
21.文字列値「SubCommands」を作成し、値のデータを「Hide;Unhide」に変更します。
22.HKEY_CLASSES_ROOT\*\shellキーを開き、Read-only File Attributesキーを作成します。
23.文字列値「MUIVerb」を作成し、値のデータを「読み取り専用(&2)」に変更します。
24.文字列値「SubCommands」を作成し、値のデータを「File-Read-only;Unset-File-Read-only」に変更します。
25.HKEY_CLASSES_ROOT\Directory\shellキーを開き、Hidden Folder Attributesキーを作成します。
26.文字列値「MUIVerb」を作成し、値のデータを「隠し属性(&1)」に変更します。
27.文字列値「SubCommands」を作成し、値のデータを「Hide;Hide-all;Unhide;Unhide-all」に変更します。
28.HKEY_CLASSES_ROOT\Directory\shellキーを開き、Read-only Folder Attributesキーを作成します。
29.文字列値「MUIVerb」を作成し、値のデータを「読み取り専用(&2)」に変更します。
30.文字列値「SubCommands」を作成し、値のデータを「Folder-Read-only;Unset-Folder-Read-only」に変更します。
31.[F5]キーを押してから、レジストリエディターを終了します。

これでチューニングが完了しました(図01~94)。

図01 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図02 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーを開きます

図03: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図04: キー名を「新しいキー #1」から「Hide」に変更します

図05: Hideキーの「(既定)」をダブルクリックし、値のデータを「有効:隠しファイル」に変更して<OK>ボタンをクリックします

図06: Hideキーを右クリックし、メニューから<新規>→<キー>とクリックします

図07: キー名を「新しいキー #1」から「command」に変更します

図08: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib +h "%1"」に変更して<OK>ボタンをクリックします

図09: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに移動します

図10: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図11: キー名を「新しいキー #1」から「Unhide」に変更します

図12: Unhideキーの「(既定)」をダブルクリックし、値のデータを「無効:隠しファイル」に変更して<OK>ボタンをクリックします

図13: Unhideキーを右クリックし、メニューから<新規>→<キー>とクリックします

図14: キー名を「新しいキー #1」から「command」に変更します

図15: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib -h "%1"」に変更して<OK>ボタンをクリックします

図16: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図17: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図18: キー名を「新しいキー #1」から「File-Read-only」に変更します

図19: File-Read-onlyキーの「(既定)」をダブルクリックし、値のデータを「有効:読み取り専用ファイル」に変更して<OK>ボタンをクリックします

図20: File-Read-onlyキーを右クリックし、メニューから<新規>→<キー>とクリックします

図21: キー名を「新しいキー #1」から「command」に変更します

図22: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib +r "%1"」に変更して<OK>ボタンをクリックします

図23: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図24: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図25: キー名を「新しいキー #1」から「Unset-File-Read-only」に変更します

図26: Unset-File-Read-onlyキーの「(既定)」をダブルクリックし、値のデータを「無効:読み取り専用ファイル」に変更して<OK>ボタンをクリックします

図27: Unset-File-Read-onlyキーを右クリックし、メニューから<新規>→<キー>とクリックします

図28: キー名を「新しいキー #1」から「command」に変更します

図29: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib -r "%1"」に変更して<OK>ボタンをクリックします

図30: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図31: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図32: キー名を「新しいキー #1」から「Hide-all」に変更します

図33: Hide-allキーの「(既定)」をダブルクリックし、値のデータを「有効:隠しファイル/フォルダー」に変更して<OK>ボタンをクリックします

図34: Hide-allキーを右クリックし、メニューから<新規>→<キー>とクリックします

図35: キー名を「新しいキー #1」から「command」に変更します

図36: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib +h "%1*" /S /D」に変更して<OK>ボタンをクリックします

図37: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図38: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図39: キー名を「新しいキー #1」から「Unhide-all」に変更します

図40: Unhide-allキーの「(既定)」をダブルクリックし、値のデータを「無効:隠しファイル/フォルダー」に変更して<OK>ボタンをクリックします

図41: Unhide-allキーを右クリックし、メニューから<新規>→<キー>とクリックします

図42: キー名を「新しいキー #1」から「command」に変更します

図43: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib -h "%1*" /S /D」に変更して<OK>ボタンをクリックします

図44: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図45: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図46: キー名を「新しいキー #1」から「Folder-Read-only」に変更します

図47: Folder-Read-onlyキーの「(既定)」をダブルクリックし、値のデータを「有効:読み取り専用フォルダー」に変更して<OK>ボタンをクリックします

図48: Folder-Read-onlyキーを右クリックし、メニューから<新規>→<キー>とクリックします

図49: キー名を「新しいキー #1」から「command」に変更します

図50: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib +r "%1*.*" /S /D」に変更して<OK>ボタンをクリックします

図51: 続いてHKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに戻ります

図52: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図53: キー名を「新しいキー #1」から「Unset-Folder-Read-only」に変更します

図54: Unset-Folder-Read-onlyキーの「(既定)」をダブルクリックし、値のデータを「無効:読み取り専用フォルダー」に変更して<OK>ボタンをクリックします

図55: Unset-Folder-Read-onlyキーを右クリックし、メニューから<新規>→<キー>とクリックします

図56: キー名を「新しいキー #1」から「command」に変更します

図57: commandキーの「(既定)」をダブルクリックし、値のデータを「attrib -r "%1*.*" /S /D」に変更して<OK>ボタンをクリックします

図58: 今度はHKEY_CLASSES_ROOT \ * \ shellキーに移動します

図59: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図60: キー名を「新しいキー #1」から「Hidden File Attributes」に変更します

図61: Hidden File Attributesキーを開き、右ペインの何もないところを右クリックします。メニューから<新規>→<文字列値>と選択してください

図62: 値名を「新しい値 #1」から「MUIVerb」に変更します

図63: 文字列値「MUIVerb」をダブルクリックし、値のデータを「隠し属性(&1)」に変更して<OK>ボタンをクリックします

図64: 続いて右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します

図65: 値名を「新しい値 #1」から「SubCommands」に変更します

図66: 文字列値「SubCommands」をダブルクリックし、値のデータを「Hide;Unhide」に変更して<OK>ボタンをクリックします

図67: 再度HKEY_CLASSES_ROOT \ * \ shellキーに移動します

図68: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図69: キー名を「新しいキー #1」から「Read-only File Attributes」に変更します

図70: Read-only File Attributesキーを開き、右ペインの何もないところを右クリックします。メニューから<新規>→<文字列値>と選択してください

図71: 値名を「新しい値 #1」から「MUIVerb」に変更します

図72: 文字列値「MUIVerb」をダブルクリックし、値のデータを「読み取り専用(&2)」に変更して<OK>ボタンをクリックします

図73: 続いて右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します

図74: 値名を「新しい値 #1」から「SubCommands」に変更します

図75: 文字列値「SubCommands」をダブルクリックし、値のデータを「File-Read-only;Unset-File-Read-only」に変更して<OK>ボタンをクリックします

図76: 今度はHKEY_CLASSES_ROOT \ Directory \ shellキーに移動します

図77: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図78: キー名を「新しいキー #1」から「Hidden File Attributes」に変更します

図79: Hidden File Attributesキーを開き、右ペインの何もないところを右クリックします。メニューから<新規>→<文字列値>と選択してください

図80: 値名を「新しい値 #1」から「MUIVerb」に変更します

図81: 文字列値「MUIVerb」をダブルクリックし、値のデータを「隠し属性(&1)」に変更して<OK>ボタンをクリックします

図82: 続いて右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します

図83: 値名を「新しい値 #1」から「SubCommands」に変更します

図84: 文字列値「SubCommands」をダブルクリックし、値のデータを「Hide;Hide-all;Unhide;Unhide-all」に変更して<OK>ボタンをクリックします

図85: 再度HKEY_CLASSES_ROOT \ Directory \ shellキーに移動します

図86: shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図87: キー名を「新しいキー #1」から「Read-only Folder Attributes」に変更します

図88: Read-only File Attributesキーを開き、右ペインの何もないところを右クリックします。メニューから<新規>→<文字列値>と選択してください

図89: 値名を「新しい値 #1」から「MUIVerb」に変更します

図90: 文字列値「MUIVerb」をダブルクリックし、値のデータを「読み取り専用(&2)」に変更して<OK>ボタンをクリックします

図91: 続いて右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択します

図92: 値名を「新しい値 #1」から「SubCommands」に変更します

図93: 文字列値「SubCommands」をダブルクリックし、値のデータを「Folder-Read-only;Unset-Folder-Read-only」に変更して<OK>ボタンをクリックします

図94: 一連の操作を終えたら、[F5]キーを押してから<×>ボタンをクリックしてレジストリエディターを終了します

今回は長丁場でしたね。早速結果を確認してみましょう。適当なファイルを右クリックしますと、コンテキストメニューに<隠し属性><読み取り専用>という項目が追加されました。各サブメニューには<有効~><無効~>が並び、それぞれファイルやフォルダーに対して隠し属性や読み取り専用属性の有無をコントロールできるようになります(図95~98)。

図95: ファイルやフォルダーを右クリックすると、コンテキストメニューに<隠し属性>および<読み取り専用>という項目が加わります

図96: <隠し属性>→<有効:隠しファイル(有効:隠しファイル/フォルダー)>をクリックするとコマンドプロンプトが一瞬起動し、対象ファイル/フォルダーに隠し属性が加わります

図97: <読み取り専用>→<有効:読み取り専用ファイル>とクリックしてみましょう

図98: こちらもコマンドプロンプトが一瞬起動し、ファイル/フォルダーに読み取り専用属性が加わります

チューニング内容をご覧になるとわかるように、ファイルやフォルダーの属性変更は「attrib」コマンドを使用しており、CommandStoreキー下で定義したコマンドを、ファイル全体を表すHKEY_CLASSES_ROOT\*\shellキーや、フォルダーを指すHKEY_CLASSES_ROOT\Directory\shellキーで呼び出しました。また、項目の名称は既定値や文字列値「MUIVerb」の内容を変更するだけですので、お好みに応じて変更してください。

ちなみに本チューニングを無効にする場合は、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ CommandStore \ shellキーに作成したHide、Unhideなどの各キーと、HKEY_CLASSES_ROOT \ * \ shell下のHidden File AttributesキーおよびRead-only File Attributesキー。HKEY_CLASSES_ROOT \ Directory \ shellキー下のHidden Folder AttributesキーとRead-only Folder Attributesキーを削除しましょう。なお、本チューニングの操作をレジストリファイル(Contextmenu-FileAttribute)にまとめましたので、レジストリエディターによる操作が面倒な方はお使いください。

「Contextmenu-FileAttribute」へのリンクはこちら

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)