Winaero Tweakerで自動フォルダータイプ検出を無効にしましたが、それはすべてのフォルダーをGeneralアイテムに設定するだけです(HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell
をNotSpecified
)に設定します。これにより、Windowsがカスタムフォルダータイプを保存できなくなります。
他のすべてのフォルダーをNotSpecified
として設定することにより、Windows自体が設定または変更できないようにしながら、フォルダーの種類(音楽、画像など、子を含む)を適切なファイルの種類に設定する方法はありますか?
スクリプト出力:
{5C4F28B5-F869-4E84-8E60-F11DB97C5CC7} Generic
{7D49D726-3C21-4F05-99AA-FDC2C9474656} Documents
{B3690E58-E961-423B-B687-386EBFD83239} Pictures
{94D6DDCC-4A68-4175-A374-BD584A510B78} Music
{5FA96407-7E77-483C-AC93-691D05850DE8} Videos
{885A186E-A440-4ADA-812B-DB871B942259} Downloads
{C4D98F09-6124-4FE0-9942-826416082DA9} UsersLibraries
{FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9} Documents.Library
{0B2BAAEB-0042-4DCA-AA4D-3EE8648D03E5} Pictures.Library
{3F2A72A7-99FA-4DDB-A5A8-C604EDF61D6B} Music.Library
{5F4EAB9A-6833-4F61-899D-31CF46979D49} Generic.Library
{631958A6-AD0F-4035-A745-28AC066DC6ED} Videos.Library
{3F98A740-839C-4AF7-8C36-5BADFB33D5FD} Documents.LibraryFolder
{24CCB8A6-C45A-477D-B940-3382B9225668} HomeFolder
はい、これはレジストリを介して行うことができます。ほとんどのファイルフォルダのCustomizeタブはPropertiesダイアログにあり、 default/sniffedFolderTypeを指定/上書きできます。タイプセレクタの下に、次のラベルが付いたチェックボックスがあります:Also apply this template to all subfolders
。
このオプションをオンにすると、選択したFolderTypeが既存のサブフォルダーと新しいサブフォルダーの両方に適用されます。基になるメソッドは、Inherit
という名前のフォルダーのBag(保存されたビュー)のサブキーを作成することです。このキーには、単一のREG_SZ値FolderTypeが含まれ、FolderType。
フォルダに保存されたビューがない場合(新しく作成された、または表示されなかった場合)、Explorerは、フォルダの親とその祖先の保存されたビューをクエリします。継承が指定されたかどうかを確認します。 見つかった場合、この値はcontent-sniffingよりも優先されます。
UIにはドライブの継承を指定するオプションはありませんが、This PC、およびrooted/virtaul Desktop、Inherit
サブキーを相続人Bagに追加すると、ほぼすべてのサブフォルダーに影響します。ルート化されたデスクトップは、DesktopをExplorerアドレスバー。
Bagを見つけるには、NodeSlot
のBagMRU
の値を確認します。
そのため、バッグ#3のInherit
サブキーを作成します。
これにより、Generic
(NotSpecifed)FolderTypeが、別のタイプが指定されていないフォルダーに適用されます。 This PCの下のさまざまなフォルダーは、関連するタイプを指定し、継承を設定して、このグローバルなデフォルトを上書きできます。
保存されたビューの数を取得します。 5000に達した場合、それが限界であり、奇妙なことになります--- BagMRUとバッグは削除する必要があります。
((gp "HKCU:\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU").Nodeslots).count
FolderTypesがApply to Foldersを介して設定したカスタムテンプレートを持っているもの:
$Defaults = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults'
$FT = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes'
(gi $defaults).Property |
Select @{N = 'ID'; E = {$_}},
@{N = 'Name'; E = {(gp "$FT\$_").CanonicalName}}
これにより、1つ以上の保存済みビューに現在適用されているFolderTypesがリストされます。 Music
テンプレートを使用しているフォルダーがあるかどうかを知りたいです。
$source = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\'
$Lookup = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes'
gci $source -recurse | ? PSChildName -like '{*}' |
select -Expand PSChildName -Unique | ForEach{
[PSCustomObject]@{
'ID' = $_
'Name' = (gp "$Lookup\$_").CanonicalName
}
}
Musicテンプレートを使用しているバッグを調べてみましょう:
$BagMRU = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU'
$Bags = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
gci $bags -recurse |
? PSChildName -like '{94D6DDCC-4A68-4175-A374-BD584A510B78}' | ForEach{
$Bag = $_.Name.Split('\')[-3]
gci $BagMRU -recurse | ? { $_.GetValue('NodeSlot') -like $Bag } | ForEach{
[PSCustomObject]@{
'Bag' = $Bag
'MRUPath' = ($_.PSPath -split 'BagMRU')[-1]
}
}
}