web-dev-qa-db-ja.com

Windows 10のシステム設定画面またはフォルダーへのパスを列挙する方法は?

この投稿 に伴うことを達成したいのですが、個人的には、それを達成するために複数の単一入力またはキーストロークを使用することにオープンです。

システムウィンドウの一部(すべてではないにしても)は、パスを直接呼び出すことで呼び出すことができ、ショートカットにバインドすることも、実行を介して直接呼び出すこともできます(これにより、直接キーバインドでアクセスできるようになります) .ahkスクリプトや周辺機器のOEMソフトウェアなど、さまざまな方法)。

この例はDevices & Printers screen、何らかの理由でスタートメニュー検索に直接エントリとして入力されなくなりました。したがって、私はそれを検索してショートカットを作成する必要がありました。

%systemroot%\Explorer.exe /e,::{26EE0668-A00A-44D7-9371-BEB064C98683}\0\::{A8A91A66-3A7D-4424-8D24-04E180695C7A}

私が知りたいのは、そのパスアドレスが何であるかを実際にどのように決定するのかということです。アクセスを自動化したいさまざまな画面や機能があるかもしれません(現在、Ease of Access Mouse Settings)、そして現在、私はそれらをケースバイケースで個別に調べることしかできません、そしてそれは1つが存在し、オンラインで投稿されていると仮定しています。それが理にかなっているなら、私はことわざの魚を自分で捕まえる方法を学びたいです。

1
Arctiic

コントロールパネルアイテムの場合、実際にはパスは必要ないがショートカットが必要な場合、簡単な方法は次のとおりです。

Explorerアドレスバーをクリックし、次のように入力(またはコピー/貼り付け)します:Shell:::{ED7BA470-8E54-465E-825C-99712043E01C}を開いて All Tasksフォルダー。使用可能なすべてのアクションが一覧表示されます: enter image description here 任意のアイテムを右クリックし、Create Shortcutを選択して、デスクトップにショートカットを作成します。

Shell:プロトコルで(ほとんど)使用できるシステムフォルダ名を一覧表示するPowerShell方法は次のとおりです。

(gp (gci HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions).PSPath).Name

そして、これがコントロールパネル名前空間を介した再帰的な移動です:

$Shell = New-Object -ComObject Shell.application
$DT = $Shell.Namespace(0)

Function Unfold ($oFolder) {
$oFolder.Items() | ?{ ($_.IsFolder -eq $True) -and ($_.Name -notLike 'Fonts') } | ForEach{
UnFold $_.GetFolder
}
$_.GetFolder.Items() | select Name, Path
}

$DT.Items() | ?{($_.IsFolder -eq $True) -and
        ($_.Name -match 'Control Panel')} | % {
            Unfold $_.GetFolder
} | Out-Gridview

何らかの理由で、パスがShell:プロトコルで機能していないようです。さらに調査が必要です。

enter image description here

3
Keith Miller