コマンドプロンプトの不透明度をレジストリから操作

OS: Windows 10 Pro version 1809

いつの頃からか知れないけれどもコマンドプロンプトの不透明度を変更しても次回のコマンドプロンプト起動時にひとつも反映されない。文字色やフォントは引き継がれるのにこれは一体どうしたことか。どうしても解決へ導けなかったからレジストリから直接不透明度を操作することを余儀なくされた。コマンドプロンプトウィンドウの不透明度を司るレジストリは此処である。

\HKEY_CURRENT_USER\Console\WindowAlpha

値は十進数で77~255までを取るようで、77のときが不透明度30%になり255で不透明度は100%であった。セットした値を255で除して100を乗ずれば不透明度(%)が計算できるということであったから、セットしたい不透明度からWindowAlphaの値を導くには逆算して天井関数と組み合わせて下のような具合の式が成り立った。また77~255以外の値では不透明度100%として扱われる模様である。

WindowAlpha = ceil( (255 / 100) * セットしたい不透明度(%) )
= ceil( 2.55 * セットしたい不透明度(%) )

コマンドプロンプトから一息にセットするならこういう具合である。reg query でセットした値も確認できるけれども十六進数で示されるから慣れていないと些か不自由である。

>reg add   "HKCU\Console" /v WindowAlpha /t REG_DWORD /d 179 /f 
>reg query "HKCU\Console" /v WindowAlpha
HKEY_CURRENT_USER\Console
WindowAlpha REG_DWORD 0x4d

30%にするなら77、50%ならば128、70%は179、90%は230で成し得る。あまり不透明度を低く設定するとただでさえ文字が朧げなところへ背景が勝ってしまって更に不明瞭になってしまうからほどほどにしておくのが良さそうである。

参考:
Windows レジストリ 解剖記

コマンドプロンプトで以って管理者として実行されたコマンドプロンプトを起動

OS: Windows 10 Pro version 1809

コマンドプロンプトから直接、管理者として実行されたコマンドプロンプトを立ち上げることはできそうにないのでpowershellを経由して目的を達する手筈である。-verb オプションの引数にある runas が管理者として実行する為の要なのである。

>powershell -command start-process cmd -verb runas

コマンドプロンプトが立ち上がったのちにルートフォルダへ移動してc:\tmp\macros.txtに予め仕掛けておいたマクロファイルを読み込むような振る舞いを求めるのであれば -argumentlist オプションを用いて

>powershell -command start-process cmd -argumentlist '/k "cd / & doskey /macrofile=c:\tmp\macros.txt"' -verb runas

というような具合である。管理者として実行するべきコマンドに対して様々に応用できるからバッチファイルを組み立てる場合に大変有用であった。

参考:
PowerShell.exe コマンドラインのヘルプ

Windows10のスタートアップフォルダをコマンドプロンプトで開く

Windows 10 Pro version 1809

アカウントごとに用意されているスタートアップフォルダを開くのであればこういう具合である。開かれるフォルダのパスは %appdata%\Microsoft\Windows\Start Menu\Programs\Startup であった。

>start "" shell:startup

すべてのアカウントに影響するスタートアップフォルダを開くのならこうである。shell:common startup はダブルクォーテーションで以って包み込んでやらねばならない。開かれるフォルダのパスはここであった。%programdata%\Microsoft\Windows\Start Menu\Programs\StartUp

>start "" "shell:common startup"

参考:
Windows 10 の起動時に自動的に実行されるアプリを変更する

コマンドラインからBitLockerでSDカードの暗号化やロックの掛けなおしを実施

OS: Windows 10 Pro Version 1809

BitLockerにまつわる操作はmanage-bdeコマンドで自在に取り扱えるようである。Dドライブとして認識されたSDカードをBitLockerで暗号化するのであれば管理者としてコマンドプロンプトを起動してからこういう具合である。ロックの解除にパスワードを要求するよう設定するなら-passwordパラメータを付与する。

>manage-bde -on d: -password

暗号化が完了するまでYoutubeで犬とか猫が出てくるやつを見て暇をしのぐ。そうすると常になく時が早く過ぎ去るので嗚呼と言う間に処理が終わる。

ロックの解除もmanage-bdeコマンドから実施できるし、ロックを掛けなおすこともできる。とりわけロックの掛けなおしに関してはmanage-bdeコマンドを知らない時分にはいちいちSDカードを安全に取り外してから再度取り付けるという手数を踏んでいたから大変需要が高い。

>manage-bde -lock d:

ロックを解除したストレージのファイルを開いていたりフォルダへ移動していると再ロックの際にエラーメッセージを喰らうけれども、それらの柵に構うことなくロックを掛けたいなら-forcedismountパラメータが有効であるようである。

エラー: ボリュームをロックしようとしてアクセスが拒否されました。
アプリケーションがこのボリュームにアクセスしている可能性があります
(コード 0x80070005)。

ボリュームが使用中でもボリュームをロックするには、”-ForceDismount”
パラメーターを追加してください。

また、もはやBitLockerに懲りごりであるとなればやはりmanage-bdeで以って暗号化を解除することも可能であるからいちいちコントロールパネルを開いてBitLockerを無効にしてウィンドウを閉じる手間が節約できてまことに優秀である。

>manage-bde -unlock d: -password
>manage-bde -off d:

コマンドプロンプトからdesktop.iniを表示する

OS: Windows 10 version 1709

フォルーダオプションから「隠しファイル、隠しフォルダー、または隠しドライブを表示する」を選択し、「保護されたオペレーティング システムファイルを表示しない(推奨)」のチェックを外せばdesktop.iniのアイコンが姿をあらわすけれどもちょっと手間である。コマンドプロンプトであればも少し手数が少なくて良い。desktop.iniのファイル属性をattribコマンドで詳らかにするとこうである。

C:\Users\guro\Desktop>attrib
A  SH        C:\Users\guro\Desktop\desktop.ini

SとHはそれぞれシステムファイル属性、隠しファイル属性を示しておりこれらの属性がファイルを透明な存在たらしめる。そうであるからこれらを解除できればしめたものである。ヘルプによれば-sと-hオプションを用いると良い。

C:\Users\guro\Desktop>attrib -s -h desktop.ini
C:\Users\guro\Desktop>attrib
A                    C:\Users\guro\Desktop\desktop.ini

これで包み隠されていたdesktop.iniのアイコンが露見する。+sと+hオプションで以って再び非表示にできる。

C:\Users\guro\Desktop>attrib +s +h desktop.ini
C:\Users\guro\Desktop>attrib
A  SH                C:\Users\guro\Desktop\desktop.ini

参考:
attrib | Microsoft Docs