Windowsコマンド(reg query)(その10)


アニメ『キャロル&チューズデイ』

このアニメすごいです。音楽が毎話映画を見てるようで、二人の声もいいし最高です。音楽の力を感じました。まあ火星が舞台ってのがよくわからない点なんですが、きっとストーリーに深く絡んでくるんでしょう。 ついバトルものばかり見入ってしまう私ですが、本格的なこの音楽アニメに夢中になりそうです。

さて、関数の戻り値を引数にして、同じ関数を実行するにはどうすればよいでしょうか。
試行錯誤。

PS C:\Users\takk> get_regkey get_regkey hklm

これでできるでしょうか。

エラー: キー名が無効です。
"REG QUERY /?" と入力すると使用法が表示されます。
PS C:\Users\takk>

だめでした。

もしや、()が必要なのでは。

PS C:\Users\takk> get_regkey (get_regkey hklm)

こんな風に。

これを実行すると、

エラー: アクセスが拒否されました。
エラー: アクセスが拒否されました。
HKEY_LOCAL_MACHINE\HARDWARE\ACPI
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP
HKEY_LOCAL_MACHINE\HARDWARE\RESOURCEMAP
HKEY_LOCAL_MACHINE\SAM\SAM
HKEY_LOCAL_MACHINE\SOFTWARE\Classes
HKEY_LOCAL_MACHINE\SOFTWARE\Clients
HKEY_LOCAL_MACHINE\SOFTWARE\DefaultUserEnvironment
HKEY_LOCAL_MACHINE\SOFTWARE\Dolby
HKEY_LOCAL_MACHINE\SOFTWARE\DTS
HKEY_LOCAL_MACHINE\SOFTWARE\GitForWindows
HKEY_LOCAL_MACHINE\SOFTWARE\Google
HKEY_LOCAL_MACHINE\SOFTWARE\Intel
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos
HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
HKEY_LOCAL_MACHINE\SOFTWARE\Nuance
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC
HKEY_LOCAL_MACHINE\SOFTWARE\OEM
HKEY_LOCAL_MACHINE\SOFTWARE\Oracle
HKEY_LOCAL_MACHINE\SOFTWARE\Partner
HKEY_LOCAL_MACHINE\SOFTWARE\Policies
HKEY_LOCAL_MACHINE\SOFTWARE\Realtek
HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications
HKEY_LOCAL_MACHINE\SOFTWARE\SRS Labs
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node
HKEY_LOCAL_MACHINE\SYSTEM\ActivationBroker
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001
HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase
HKEY_LOCAL_MACHINE\SYSTEM\HardwareConfig
HKEY_LOCAL_MACHINE\SYSTEM\Input
HKEY_LOCAL_MACHINE\SYSTEM\Keyboard Layout
HKEY_LOCAL_MACHINE\SYSTEM\Maps
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
HKEY_LOCAL_MACHINE\SYSTEM\ResourceManager
HKEY_LOCAL_MACHINE\SYSTEM\ResourcePolicyStore
HKEY_LOCAL_MACHINE\SYSTEM\RNG
HKEY_LOCAL_MACHINE\SYSTEM\Select
HKEY_LOCAL_MACHINE\SYSTEM\Setup
HKEY_LOCAL_MACHINE\SYSTEM\Software
HKEY_LOCAL_MACHINE\SYSTEM\WaaS
HKEY_LOCAL_MACHINE\SYSTEM\WPA
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
PS C:\Users\takk>

処理されましたね。

再帰的に処理する前に、このやり方で、数個並べてみて実行できるか確認します。

PS C:\Users\takk> get_regkey (get_regkey (get_regkey (get_regkey hklm)))

この書き方、どこかで見たことがあります。
もしやLisp!!

実行してみます。

PS C:\Users\takk> $all=get_regkey (get_regkey (get_regkey (get_regkey hklm)))
エラー: アクセスが拒否されました。
エラー: アクセスが拒否されました。
エラー: アクセスが拒否されました。
エラー: アクセスが拒否されました。
PS C:\Users\takk>

無理やりCtrl+Cで止めましたが、処理が戻ってきませんでした。
変数$allの要素数を確認します。

PS C:\Users\takk> $all.count
0
PS C:\Users\takk>

まさかの0個

つづく

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA