Stellen Sie die Spaltenbreite im Windows Explorer auf weniger als 100 Pixel ein

Stellen Sie die Spaltenbreite im Windows Explorer auf weniger als 100 Pixel ein

Ich möchte die Breite der Spalte „Dateierweiterung“ weiter reduzieren:

Bildbeschreibung hier eingeben

Ich kann mit der rechten Maustaste klicken > „Mehr“ > „Dateierweiterung“ markieren > aber wenn ich „100“ in einen niedrigeren Wert ändern möchte, lässt das der Windows Explorer nicht zu:

Bildbeschreibung hier eingeben

Antwort1

Ich habe noch kein Upgrade auf Win11 durchgeführt, aber wenn Ordner ihre Ansichten immer noch unter dem Registrierungsschlüssel speichern: HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags

Dann das folgendePower Shellverkleinert die Breite der Spalte in allen gespeicherten Ansichten, in denen die Spalte angezeigt wird, File Extensionauf eine voreingestellte Breite ( ) .$NewWidthFile Extension

Sie haben dann die Möglichkeit, eine dieser Vorlagen als benutzerdefinierte Vorlage für die zugehörigeFolderTypedurch die Nutzung 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
    }
}

verwandte Informationen