Windows 10 で、「開く」および「名前を付けて保存」ダイアログ ボックスの既定のビュー (詳細、タイルなど) を変更するにはどうすればよいですか?

Windows 10 で、「開く」および「名前を付けて保存」ダイアログ ボックスの既定のビュー (詳細、タイルなど) を変更するにはどうすればよいですか?

(この質問は尋ねた1年以上前、回答なし)

いくつかのサイトでは、Windowsは最後の表示設定を自動的に記憶するはずだと述べている。名前を付けて保存そして開ける、しかし、私のPCではそうはいきません。開けるまたは名前を付けて保存、大きいアイコン表示になります。

  • 対応するレジストリ キーを削除してこれらのダイアログの Windows のデフォルトをリセットする方法に関する Web ページはいくつか見つかりましたが、独自のデフォルトを設定する方法に関する手順を検索しても何も見つかりません。また、次のレジストリ サブキーをリストする参照も見つかりませんでした。
    HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CIDSave
    HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CIDOpen
    
  • Windows 7では、 [ウィンドウの閉じるボタン]Ctrlをクリックしたままにすると、[X]現在のビューがデフォルトとして保存されますが、Windows 10では機能しません。

編集: 私が避けたいと思っていた (そして必要ではないと思っていた) 解決策は、スクリプトを使用してキーストロークをダイアログに送信することです。そのオプションでさえ、必要以上にハックであることがわかりました。特定のビューに切り替えるためのショートカットはなく、リストにビュー オプションを表示する [ビューの変更] ボタンをアクティブ化するためのショートカットさえないようです。これらのボックスのいずれかに入ったら、ビューを設定するためのワンショット キーボード ショートカットはありますか?

そうでない場合は、 、 、 の順にShift+Tab実行Shift+F10する[V]こと[D]で、大まかに言えば目的を達成でき、これらのボックスのいずれかが開かれるたびにスクリプトを自動的に実行させることはできないとしても、毎回ビューを設定する手間を 1 回のキーストロークに凝縮できるようです。

[編集 2: レジストリの Bags キーと BagMRU キーを削除し、数日間業務をこなしながら何度も手動で詳細ビューに切り替えた後、@Keith Miller が提供した以下のスクリプト (「CustomViews/FolderTypes in Use」) を実行すると、次のようになります。

使用中のフォルダータイプ: Generic Downloads CompressedFolder Music Generic.SearchResults ControlPanelCategory Documents HomeFolder

これらのレジストリ キーを削除する前は、スクリプトによって「CustomViews」がいくつか報告されていましたが、現在は「CustomViews」がまったく存在しないことに注意してください。この場合も、動作に変化はありません。ダイアログ ボックスでのビューの選択は保持されず、必要に応じて毎回手動でリセットする必要があります。]

答え1

共通ダイアログによって提供された冒険者Open/Save/Save As)ビュー設定を同じレジストリの場所に保存します冒険者フォルダービューが保存されます:

HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

スクリーンショット1

各番号付きサブキーは、隣接するサブキーの参照を介して特定のフォルダに関連付けられます。BagMRUキー。各フォルダーには 3 つの異なるビューを保持できます。

  • Shell:保存されたビュー冒険者
  • ComDlg:は、ナビゲーション ペイン
  • ComDlgLegacy:を表示しますプレイスバー

各ビューにはガイド- 対応するサブキーFolderTypeフォルダによって使用される。ここではピクチャー フォルダタイプ:
ここに画像の説明を入力してください



フォルダー ビューの設定が忘れられた場合、最も可能性の高い原因は5000保存されたビューの最大値に達したことです。

  • 保存されたビューの数を確認するには、これを実行しますパワーシェルコード:
    ((gp 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU').Nodeslots).count
    
    • が返される場合は5000、次の 2 つのレジストリ キーを削除して、保存されているすべてのビューを削除する必要があります。
      HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
      HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags
      
    • これを手動で行うRegEditか、[PowerShell] を実行して行うことができます。
      sl 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell' 'BagMRU', 'Bags' | Remove-Item -Recurse
      


共通ダイアログを介して初めて場所にアクセスすると、関連付けられているのデフォルト ビューが使用されますFolderType。これは次のいずれかになります。

  • ユーザー固有のカスタムデフォルト設定フォルダに適用そして保存されたHKCU\...\Streams\Defaults
  • で定義されたマシン全体のデフォルト ビューHKLM\...\FolderTypes

最初の表示の後、ビューを保存し、Bagフォルダーに関連付けられたサブキー。

  • ダイアログビューをデフォルトのエクスプローラービューと一致させたい場合は、次のFolderType方法でビュー設定を保存してください。フォルダに適用、フォルダを開いた後冒険者設定を行います:スクリーンショット

  • 何を見るかFolderTypes設定したフォルダに適用そして何FolderTypes1 つ以上の保存されたビューで使用される場合は、次を実行します。
    $Defaults    = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults'
    $FolderTypes = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes'
    $Bags        = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
    
    If ( Test-Path $Defaults ) {
      Write-Host 'Custom Views saved for:'
      ForEach ( $FTID in (Get-Item  $Defaults).Property ) {
        Write-Host ( "`t" + (Get-ItemProperty "$FolderTypes\$FTID").CanonicalName )
      }
    } Else {
      Write-Host 'No custom views saved.'
    }
    Write-Host 'FolderTypes in use:'
    
    Get-ChildItem $Bags -Recurse | ? PsChildName -like '{*}' | select -expand PSChildName -unique | ForEach {
      If ( $_ -ne '{25CC242B-9A7C-4F51-80E0-7A2928FEBE42}' ) {
        Write-Host ( "`t" + (Get-ItemProperty "$FolderTypes\$_").CanonicalName )
      } Else {
        Write-Host "`tNetwork"
      }
    }
    

現在保存されているビューをクリアしても問題が解決しない場合は、さらにトラブルシューティングを投稿します。


次のコードを使用して、ダイアログビューのみをクリアし、冒険者ビュー:

$Bags = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
$Bags | gci -Recurse | ? PSChildName -match 'ComDlg' | Remove-Item -Recurse 
gps explorer | spps

関連情報