Mit „Get-Random“ eine zufällige Datei aus Verzeichnis auswählen

Wie eine zufällige Zeile aus einer Datei ausgegeben werden kann, habe ich hier gezeigt.
Heute soll eine zufällige Datei aus einem Verzeichnis mit mehreren Dateien ausgewählt werden.

Es können aber auch mehrere zufällige Dateien ausgewählt werden, hier zwei:

Zip-Dateien in gleichnamiges Verzeichnis entpacken (Shell)

Welcher Admin kennt das nicht, viele Zip-Dateien liegen in einem Verzeichnis und wollen gesichtet werden, aber alle händisch entpacken, nein.

Das folgende snippet durchläuft alle Dateien mit der Extension „.zip“ und entpackt diese in einen gleichnamigen Ordner.

Verzeichnisbaum mit Powershell darstellen

Seit DOS und jetzt in der Eingabeaufforderung gibt es schon seit Jahren den Befehl „Tree“ der einen Verzeichnisbaum der Verzeichnisse (und Dateien) zeichnet.
Powershell kann das auch, wenn auch etwas umständlicher, denn hier gibt es keinen Befehl dafür. Aber durch das einzelne durchlaufen der Verzeichnisebenen und ausgeben kann dies ebenso erreicht werden.

Hier mal ein Skript, welches die Vorgehensweise zeigt. Der Vorteil von einem eigenen Skript ist hier, dass man so das Ausgabeformat genau an die eigenen Wünsche anpassen kann.

Skript:

Verzeichnispfad zu Powershellskript ermitteln

Für den Aufruf von Exe-Dateien oder das Einbinden von Dll-Bibliotheken muss man häufig den Verzeichnispfad des aktuell ausgeführten Skriptes kennen. Das folgende Skript liefert genau diesen zurück:

Oder:

Verzeichnis mit aktuellem Datum erstellen

Für Protokolle oder Sicherungen benötigt man immer wieder Verzeichnisse die täglich neu angelegt werden und die das aktuelle Datum enthalten.
Das folgende Skript legt ein Verzeichnis im folgenden Format an: Backup_Jahr-Monat-Tag, also z.B. „Backup_2009-02-10“

Batch-Skript:

Nach Dateinamen in Verzeichnis filtern

Schon mal in einem Verzeichnis mit vielen Dateien und unterschiedlichen Dateitypen nach bestimmten Dateien gefiltert?
Mit dem Cmdlet „Get-Childitem“ geht da einiges, wie ich bereits in meinen Beiträgen „Alle Dateien anzeigen außer bestimmte Typen„, „Das Commandlet “Get-Childitem”“ und „Rekursive Dateisuche mit Filter und Sortierung“ gezeigt habe.

Möchte ich einfach nur alle Dateien anzeigen die mit „d“, „e“, oder „x“ beginnen, so geht das wie folgt:

Oder bei Folgen (z.B. d bis k und x) von Buchstaben so:

Das „*.*“ am Ende könnte z.B. mit „*.txt“ den Filter bzw. die angezeigten Dateien weiter einschränken.

Überblick über die Dateigrößen in einem Verzeichnis

In einem Verzeichnis mit z.B. vielen Logdateien kann es für Administratoren interessant sein, mehr Informationen zu den Dateigrößen zu erhalten.
Die folgende Skriptzeile zeigt die Anzahl der Dateien, deren Dateigröße insgesamt, die Größe der kleinsten / größten Datei und deren durchschnittliche Dateigröße eines Verzeichnisses an.

Dateiextensions in einem Verzeichnis

Welche Dateitypen es innerhalb eines Unterverzeichnisses und allen weiteren Unterobjekten gibt, findet das folgende Powershellskript heraus:

Dieses durchläuft den aktuellen Verzeichnispfad rekursiv und gibt die Dateiextsions in Kleinschrift aus. Durch „unique“ wird gruppiert, also die Erweiterung nur einmal angezeigt, und durch „sort“ aphabetisch ausgegeben.