Windowsエクスプローラーの列幅を100ピクセル未満に設定する

Windowsエクスプローラーの列幅を100ピクセル未満に設定する

「ファイル拡張子」列の幅をさらに狭くしたい:

ここに画像の説明を入力してください

右クリック > その他 > 「ファイル拡張子」を強調表示 > できますが、「100」をそれより小さい値に変更したい場合、Windows エクスプローラーでは許可されません。

ここに画像の説明を入力してください

答え1

まだ Win11 にアップグレードしていませんが、フォルダーが引き続きレジストリ キーの下にビューを保存している場合: HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

次に、パワーシェル列を表示するすべての保存済みビューで、列の幅がFile Extension事前設定された幅 ( ) に縮小されます。$NewWidthFile Extension

次に、それらのいずれかを関連するカスタムテンプレートとして設定するオプションがあります。FolderTypeを使用しますApply to Folders

$NewWidth           = 0x35
$Bags               = 'HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags'
$ExtPropKey         = [PSCustomObject]@{
                          'FmtID' = [GUID]'e4f10a3c-49e6-405d-8288-a23bd4eeaa6c'
                          'PID'   = 100
                      }
$PropKeyAsBytes     = $ExtPropKey.FmtID.ToByteArray() + [BitConverter]::GetBytes($ExtPropKey.PID)
$Encoder            = [System.Text.Encoding]::GetEncoding(28591)
$RegEx              = [Regex]$Encoder.GetString( $PropKeyAsBytes )

gci $Bags -Recurse |
    ? PSChildName -like '{*}' |
    ? Property -contains  'ColInfo' |
ForEach-Object{
    $ColInfoAsText   = $Encoder.GetString(( $ColInfoAsBytes = $_.GetValue('ColInfo') ))

    If ( ( $ColumnPresent = $RegEx.Match( $ColInfoAsText ) ).Success )
    {        
        $WidthOffset                  = $ColumnPresent.Index + 0x14
        $ColInfoAsBytes[$WidthOffset] = $NewWidth
        $Splat = @{
            'Path'    = $_.PSPath
            'Name'    = 'ColInfo'
            'Value'   = $ColInfoAsBytes
        }
        Set-ItemProperty @Splat
    }
}

関連情報