解決済みだけど、少し詳しく解説してみるわ。興味ある人だけ読んでね。
ショートカットのプロパティを変更したい!
"C:\ProgramData\Microsoft\Windows\Start Menu"は全ユーザー共通のスタートメニューがある場所ね。基本的には、アプリケーションをインストールしたときに、各アプリケーションのショートカットが設置されることになるわ。このフォルダーは一般ユーザーは読み込み権限があるけど、書き込み権限がないの。勝手に変更したり出来ないようになっているという事よ。管理者は書き込みできるけど、Windows 10では管理者アカウントであってもUACによる権限昇格がなければ変更は出来ないわ。だけどね、ファイルのプロパティ変更では一部を除いて、権限昇格のダイアログが表示されないの。つまり、ここにあるショートカットについてそのままでは変更することできないって事なのよ。
※ 私の環境では、"C:\ProgramData\Microsoft\Windows\Start Menu"には管理アカウントにのみ「削除」の権限があったわ。Windowsを最初に立ち上げたときのアカウントに対してだけは「削除」が付与される可能性があるけど、なぜかはわからなかったわ。
ここにあるショートカットを変更したい場合は、次の三つの方法から選択することになるわね。
-
ショートカットのセキュリティを変更する。
セキュリティの変更では権限昇格のダイアログが表示されるようになっているから、管理者であれば変更は可能だわ。自分の名前で変更権限を与えればいいのよ。そうしたら、権限昇格無しでもショートカットのプロパティを変更できるようになるはずだわ。
変更した後にセキュリティを元に戻すかどうかは好みね。
-
ショートカットを別の場所にコピーし、変更してから、元の場所に上書きコピーする。(can110さんの回答も参照)
読み込みが出来るのだから、別の場所、たとえば自分のデスクトップなんかにコピーするのは簡単だわ。そのとき、セキュリティもその場所にあった物に変更されるから、好きなように変更が可能なはずよ。それが終わったら、今度は元の場所に上書きコピーを試すの。権限がないからそのままでは上書きが出来ないのだけど、エクスプローラーは権限昇格のダイアログを出してくれるの。管理者であれば、承認して上書きできるわ。
ちょっと気をつけて欲しいのは、ユーザーに「削除」の権限がある場合があることよ。単にドラッグアンドドロップしただけでは、コピーではなく移動になる場合があるから、気をつけてね。
-
"%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu"に置く。
スタートメニューは最初に言った全ユーザー共通のスタートメニューと、ユーザー毎のスタートメニューを合わせて形で構成されているわ。そのユーザー毎のスタートメニューの場所が"%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu"よ。そのままエクスプローラーのアドレスバーに貼り付ければ表示されるわ。"%USERPROFILE%"はプロファイルの場所のことだけど、通常は"C:\Users\ユーザー名"になっているわ。
合わせた形と言うけど、もし、同じ物があった場合は、ユーザー毎のスタートメニューの方が優先されるわ。つまり、同じようなフォルダー構成で同じ名前のショートカットが全ユーザー共通とユーザー毎の両方にあった場合、スタートメニューから起動されるのはユーザー毎の方って事よ。この性質を利用するわ。
目的のショートカットをユーザー毎のスタートメニューにも同じフォルダーにコピーするの。"Start Menu"から目的のショートカットまでのフォルダーのパスが全く同じでなければならないから注意してね。あと、"Start Menu"と"Programs"というフォルダーはエクスプローラー上では"スタート メニュー"、"プログラム"とそれぞれ表示されるから注意してね。仕組みとしては"Documensts"が"ドキュメント"と表示されるのと同じよ。表示だけの問題で、実際のフォルダー名は"Start Menu"と"Programs"だから、混同しないでね。
大体こんなものかしら。最初の二つはアップデートなどでショートカットが上書きされた場合に元に戻ってしまうから気をつけてね。他にもありそうだけど、あまり変なことをしてしまうと元に戻せなくなるわ。
全部変えてしまおう!
もういっそ、全てのコマンドプロンプトは共通で同じように変えてしまっても構わないと思わない?ということでその方法を解説するわ。
- まずは、通常のコマンドプロンプトを起動するの。
- タイトルバーを右クリックして「規定値」を選ぶの。
- あとは、適当にオプションを変更して、「OK」を押すだけよ。簡単でしょ。
次回の起動から、ほぼ全てのコマンドプロンプトがこの「規定値」の設定になるわ。この設定は、レジストリの"HKEY_CURRENT_USER\Console"以下にある値を変更しているだけなの。コマンドプロンプトは起動時にこのレジストリ値を見に行ってデフォルトでの動作を決定するわ。ショートカットのオプションはこのレジストリ値に対する個別設定という事よ。
レジストリを実際に見て貰えればわかると思うのだけど、exeのパス等が名前になっているサブキーが存在しているわ。これはコマンドプロンプトで使われるコンソールをプログラム毎に設定が出来るようになっているからよ。例えばPowerShellの個別設定には背景色の設定が入っていて、デフォルトでは青色になるという仕組みになっていると言うわけ。また、先ほどの規定値設定もcmd.exeについてのサブキーで設定されることになるから、PowerShellには影響が出ないようになっているわ。
「従来のコンソールを使う」はユーザーの全体設定
「従来のコンソールを使う」は設定できたのはなぜって思ったりしなかった。実は、同じ画面にありながら、ここだけは設定される場所がユーザー単位なのよ。実際の場所はレジストリの"HKEY_CURRENT_USER\Console"の"ForceV2"よ。サブキー側ではなく、直下になるわ。この設定は、ショートカットのプロパティで設定しても、コマンドプロンプトの規定値で設定しても、コマンドプロンプトのプロパティで設定しても、全く同じ所を設定することになるわ。つまり、ユーザー単位で共通であって、どこで設定しても反映されるし、また、全てのコンソールを使うアプリケーションに影響を及ぼすという事よ。
本当にわかりにくいったらありゃしないわ。同じ場所にあるのに、ここだけ全てのコンソールに反映されるなんて普通思う?私はこの仕様のせいで、一ヶ月間泣いてすごすハメになったわ。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/04 00:42