
Mir ist aufgefallen, dass weder cmd
noch powershell
eine rekursive Dateisuche nach Dateien mit dem Attribut „Versteckt“ möglich ist.
Gibt es also einen Weg, das zu umgehen? Ich meine, außer das versteckte Attribut aus der oder den betreffenden Dateien entfernen zu müssen, wofür ich vorher ihren Speicherort kennen müsste, was die ganze Übung natürlich sinnlos machen würde.
Warum funktioniert es nicht mit Dateien, die das Attribut „versteckt“ haben? Ist das eine Art Sicherheitsfunktion?
Beispiel (cmd)
C:\>dir /b
Intel
PerfLogs
plant
Program Files
Program Files (x86)
Users
Windows
C:\>cd plant
C:\plant>dir /b
banana.txt
C:\plant>attrib banana.txt
A C:\plant\banana.txt
C:\plant>attrib -a +h banana.txt
C:\plant>dir /b
C:\plant>dir /b banana.txt
File Not Found
C:\plant>cd /
C:\>dir /b /s banana.txt
File Not Found
C:\>
Antwort1
So listen Sie versteckte Dateien auf:Power ShellSie müssen den -Force
Parameter verwenden. Wenn Sie verwenden, Get-ChildItem -Force -Recurse
erhalten Sie eine Liste aller Dateien, einschließlich versteckter Dateien.
Get-Help Get-ChildItem -Examples
:
Der Parameter Force fügt der Anzeige versteckte Dateien hinzu.
Ja, es ist nicht intuitiv und die Beschreibung des Parameters selbst sagt Ihnen nichts.
Für die Befehlszeile selbst wäre es dir /A
oder dir /AH
nur das Auflisten versteckter Dateien, aber ich bin nicht sicher, wie Sie diese Ausgabe durchsuchen würden.
Antwort2
Verwenden Sie in der Windows-Eingabeaufforderung die Schalter /a und /s für alle Dateien und rekursiv:
/A Displays files with specified attributes.
/S Displays files in specified directory and all subdirectories.
Beispiel
dir/a/s
In Powershell verwende ich dieselbe Methode, nur mit -force anstelle von /a, um alle Dateien anzuzeigen:
dir -force -s
oder
dir -force -r
Außerdem gibt es in Powershell „ls“, um ein Zeichen weniger einzugeben!
ls -force -s
oder
ls -force -r
Antwort3
Schließlich lautete die Antwort:
CMD:
dir /a:H /s
POWERSHELL:
ls -ah -recurse
(Option -force)