Alle komprimierten Dateien auf dem Server anzeigen / finden?

7

Ich muss alle komprimierten Dateien / Ordner unabhängig vom Dateiformat auf einem Windows Server 2003-Computer finden. Suchoptionen bieten diese Funktion nicht.

Gibt es eine Möglichkeit, alle komprimierten Dateien aufzulisten / anzuzeigen?

Möglicherweise kann dies von PowerShell mithilfe von Datei- / Ordnerattributen durchgeführt und in eine txt-Datei mit Dateispeicherort eingefügt werden.

UPD:

Unter komprimierten Dateien / Ordnern meine ich Dateien, die nach dem Ändern des Datei- / Ordnerattributs im Explorer in blauer Farbe angezeigt werden.

Geben Sie hier die Bildbeschreibung ein

Volodymyr Molodets
quelle
Können Sie definieren, was Sie unter komprimierten Dateien verstehen? Meinen Sie alle .zip, .rar, .7z, .tar.gz, .etc?
Mürrisch
Ich meine Dateien, die mit Windows komprimiert wurden und im Explorer blau angezeigt werden.
Volodymyr Molodets

Antworten:

10

Der komprimierte Indikator wird in der Eigenschaft "Attribute" gespeichert. Diese Powershell meldet komprimierte Dateien.

gci -r C:\search\path | where {$_.attributes -match "compressed"} | foreach { $_.fullname }

- Beginnen Sie mit der Bearbeitung

Die Dateigröße wird in der Eigenschaft length gespeichert, die in Bytes angegeben ist. Sie können eine sogenannte "berechnete Eigenschaft" verwenden, um die Größe in kb, mb, gb usw. anzuzeigen.

$col1 = @{label="Size";Expression={$_.length/1mb};FormatString="0.0";alignment="right"}
$col2 = @{label="Fullname";Expression={$_.fullname};alignment="left"}
gci -r | where {$_.attributes -match "compressed"} | ft $col1,$col2 -autosize

Wenn Sie nur größere Dateien möchten, sagen Sie größer als 1 MB

gci -r | where {$_.attributes -match "compressed" -AND $_.length -gt 1mb} | ft $col1,$col2 -autosize

Ordnergröße ist auch möglich, ein etwas anderes Tier. Versuchen Sie einfach, "Powershell-Ordnergröße" zu googeln und viele Beiträge dazu zu verfassen. Es gibt auch viele kostenlose Tools (windirstat) zum Melden von Ordnergrößen.

Clayton
quelle
1
Perfekt! Kann ich außerdem die Größe für jeden Ordner / jede Datei in der Ausgabe ermitteln?
Volodymyr Molodets
Übrigens sind sowohl 'dir' als auch 'ls' eigentlich nur Aliase für 'gci' und möglicherweise leichter zu merken. Außerdem werde ich eine weitere Abstimmung für WinDirStat hinzufügen. Es ist das perfekte Tool zum Anzeigen von Datei- / Ordnergrößen.
ColdCold
0

Die Definition ist ziemlich vage, da "komprimierte Datei" eine Vielzahl von Dateien bedeuten kann. Sie haben Ihre normale .zip .tar .7z usw. Sie haben auch .cab-Dateien, obwohl ich nicht sicher bin, wie häufig sie heutzutage sind.

AFAIK, es gibt keine einfache Möglichkeit, komprimierte Dateien an sich zu finden. Sie müssen einfach definieren, welche Dateitypen Sie suchen möchten, und das DOS-Befehlsverzeichnis verwenden.

Geben Sie an der Eingabeaufforderung root ein

dir *.zip *.rar *.7z *.tar /s >> output_file.txt

Dadurch werden alle Dateitypen in allen Unterverzeichnissen aufgelistet und die Ausgabe in der Datei output_file.txt gespeichert. Dann können Sie durch das "Protokoll" gehen und suchen, was Sie wollen.

Weitere Informationen zu DIR finden Sie unter http://www.computerhope.com/dirhlp.htm

Sandokan
quelle