Die Anzahl der Dateien in einem Verzeichnis zählt einem die Shell ganz einfach durch folgendes Kommando:
1 | ls -a | wc -l |
Die Anzahl der Dateien in einem Verzeichnis zählt einem die Shell ganz einfach durch folgendes Kommando:
1 | ls -a | wc -l |
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:
1 2 3 4 | $strPfad = [System.Management.Automation.InvocationInfo]$myInv=$myInvocation $strPfad = $myInv.get_MyCommand().Definition $strPfad = Split-Path $strPfad -parent Write-Host $strPfad |
Oder:
1 | Split-Path -parent $MyInvocation.MyCommand.Definition |
Ein neues Verzeichnis im Dateisystem kann ganz einfach mit dem Commandlet “New-Item” angelegt werden:
1 | New-Item E:\Dokumente\Testordner -type directory |
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:
1 2 3 4 5 | SET Jahr=%date:~-4% SET Monat=%date:~-7,2% SET Tag=%date:~-10,2% mkdir "Backup_%Jahr%-%Monat%-%Tag%" |
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:
1 | Get-Childitem C:\Windows\[dex]*.* |
Oder bei Folgen (z.B. d bis k und x) von Buchstaben so:
1 | Get-Childitem C:\Windows\[d-kx]*.* |
Das “*.*” am Ende könnte z.B. mit “*.txt” den Filter bzw. die angezeigten Dateien weiter einschränken.