So verwenden Sie die Windows-Dateifilterung in der Miniaturansicht

So verwenden Sie die Windows-Dateifilterung in der Miniaturansicht

Wenn Sie einen Ordner im Detailmodus anzeigen und die Spaltenüberschrift betrachten, sehen Sie neben jeder der Eigenschaften (Name, Größe, Album, Künstler usw.) einen Pfeil. Wenn Sie auf diesen Pfeil klicken, wird ein Menü mit allen verfügbaren Tags in der jeweiligen Eigenschaft angezeigt. Dort können Sie diejenigen auswählen, die Sie in dieser Spalte filtern möchten. Anschließend können Sie Dateien noch weiter filtern, indem Sie in einer anderen Spalte dasselbe tun usw.

Hier ist ein Screenshot der Dateifilter.

Dateifilter

Ich möchte diese Funktion auch in anderen Ordneransichten verwenden können, beispielsweise in der Miniaturansicht. Ich bin mir nicht sicher, was der richtige Ansatz dafür ist. Ich dachte, es könnte vielleicht eine Verknüpfung für diese Menüs geben oder vielleicht eine Registrierungsoptimierung, um die Überschrift der Detailspalte immer in allen Ansichten anzuzeigen, aber ich habe keine Ahnung, wie das geht.

Nach dem Filtern in der Detailansicht kann ich dann die Ordneransicht auf etwas anderes ändern und die Filter bleiben intakt, so dass estutfunktioniert in anderen Ansichten, aber ich muss jedes Mal, wenn ich einen Filter verwenden möchte, in den Detailmodus wechseln und dann wieder zurück zu den Miniaturansichten, daher möchte ich diesen Schritt überspringen

Antwort1

Hinweis: Folgendes funktioniert auf meinem Laptop:

Edition Windows 10 Home
Version 22H2
Installiert am 10.08.2020
OS-Build 19045.2486
Erfahrung Windows Feature Experience Pack 120.2212.4190.0

Nicht mehr unterstützte Funktionen können sich jederzeit ändern. Ich habe mich noch nicht auf Windows 11 gestürzt, habe also diesbezüglich keine Ahnung.


Ein Bestandteil vonForscherAnsichtseinstellungen ist eine Reihe von Flags,OrdnerFlags. das Flag, das normalerweise die Anzeige von Spaltenüberschriften unterdrückt, ist:

FWF_NOHEADERINALLVIEWS
Wert: 0x01000000
Windows Vista und höher. Die Spaltenüberschrift wird nur im Detailansichtsmodus angezeigt.

Aber auch wenn das Flag in der Dateivorlage gelöscht ist,Forscherüberschreibt es bei der Anzeige des Ordners, und Kopfzeilen werden nur in Detailsder Ansicht angezeigt. Aber inPower Shellkann die Markierung gelöscht werden füraktiv ForscherFenster und die Überschriften werden angezeigt:

Bildbeschreibung hier eingeben

DasPower ShellCode aktiviert die Spaltenüberschriften in allenForscherFenster, die beim Ausführen des Befehls geöffnet sind:

@((New-Object -Com shell.application).Windows()).ForEach({
    $_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff)
    $_.Refresh()
})

Der obige Code kann kopiert, eingefügt werden in einePower ShellKonsolenfenster und wurde für einen schnellen Test seiner Durchführbarkeit ausgeführt; aber das ist keine gute Art, es für den täglichen Gebrauch auszuführen. Es schien mir, als würde man einen Kontextmenüeintrag für dasVerzeichnishintergrundMenü machte am meisten Sinn. Dafür brauchen wir eine Kommandozeilenversion des Codes.

RunEine für den Dialog bzw. als Ziel einer Tastenkombination geeignete (und damit auch als Kontextmenübefehl geeignete) Befehlszeile wäre:

PowerShell -NoProfile -ExecutionPolicy Bypass -Command '& {@((New-Object -Com shell.application).Windows()).ForEach({$_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff');$_.Refresh()})}'

Aber es gibt den ärgerlichen kurzen Blitz des blauenPower Shellcosole, wenn der Befehl ausgeführt wird. Um das zu umgehen, verwenden wir cmd.exezum StartenPower Shellminimiert. StartenPower ShellBefehle von cmd.exestellen Probleme mit Sonderzeichen und Anführungszeichen dar, die oft mit Referenzen .batoder .ps1Dateien gelöst werden, aber wir können unseren Registrierungsbefehl in sich geschlossen halten, indem wir den -EncodedCommandPowerShell-Parameter mit einer Base64-codierten Version des Befehls verwenden. Der folgende Code kann als Block kopiert, in einePower ShellCosole und ausgeführt, um den Kontextmenüeintrag zu erstellen:

$PSCommand      = '@((New-Object -Com shell.application).Windows()).ForEach({ $_.Document.FolderFlags = ($_.Document.FolderFlags -band 0xfeffffff); $_.Refresh()})'
$CommandBytes   = [System.Text.Encoding]::Unicode.GetBytes($PSCommand)
$encodedCommand = [Convert]::ToBase64String($CommandBytes)

$CommandLine    = 'cmd.exe /c start /min "" PowerShell -NoProfile -ExecutionPolicy Bypass -EncodedCommand ' + $EncodedCommand

$RegKey         = 'HKCU:\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders'

[PSCustomObject]@{
    '(Default)' = 'Show Column Headers'
   'Position' = 'Top'
} | Set-ItemProperty -Path (mkdir $RegKey -Force).PSPath

New-Item -Path $RegKey -Name Command -Value $CommandLine | out-null

Wenn Sie möchten, können Sie den Menüeintrag auch durch Zusammenführen einer .regDatei erstellen. Hier ist ein Export der Registrierungsschlüssel, die durch den obigen Code erstellt wurden. Speichern Sie sie als .regDatei und führen Sie sie dann zusammen, um den Kontextmenüeintrag zu erstellen:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders]
@="Show Column Headers"
"Position"="Top"

[HKEY_CURRENT_USER\SOFTWARE\Classes\Directory\Background\Shell\ShowColumnHeaders\Command]
@="cmd.exe /c start /min \"\" PowerShell -NoProfile -ExecutionPolicy Bypass -EncodedCommand QAAoACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AQwBvAG0AIABzAGgAZQBsAGwALgBhAHAAcABsAGkAYwBhAHQAaQBvAG4AKQAuAFcAaQBuAGQAbwB3AHMAKAApACkALgBGAG8AcgBFAGEAYwBoACgAewAgACQAXwAuAEQAbwBjAHUAbQBlAG4AdAAuAEYAbwBsAGQAZQByAEYAbABhAGcAcwAgAD0AIAAoACQAXwAuAEQAbwBjAHUAbQBlAG4AdAAuAEYAbwBsAGQAZQByAEYAbABhAGcAcwAgAC0AYgBhAG4AZAAgADAAeABmAGUAZgBmAGYAZgBmAGYAKQA7ACAAJABfAC4AUgBlAGYAcgBlAHMAaAAoACkAfQApAA=="

Nachdem Sie eine der beiden oben genannten Methoden zum Erstellen der Registrierungsschlüssel verwendet haben, sollten Sie oben im Kontextmenü desForscherFenster:

Bildbeschreibung hier eingeben

Nach der Ausführung:

Bildbeschreibung hier eingeben

Genauso wieForscherVorlageneinstellungen überschrieben, die Überschriften verschwinden sogar beim Navigieren zu einem Unterordner des aktuellen Ordners. Ich kenne keine Möglichkeit, das zu umgehen – Sie müssen den Befehl einfach erneut ausführen.

verwandte Informationen