Kleine Tipps für Zwischendurch (Teil 155) – Dateien anlegen mit FsUtil

Neulich im PowérShell-Kurs, ein Teilnehmer: Warum kann man denn bei New-Item nicht die Größe der Datei angeben? (ein wenig schwingt bei solchen Fragen ein „Typisch Microsoft, wie üblich nur halbe Sachen“ mit). Auch wenn ich keine Ahnung habe, was sich die PowerShell-Entwickler beim New-Item-Cmdlet im Detail gedacht haben, ich denke beim Entwurf der PowerShell standen Einfachheit und Universalität im Vordergrund, zwei Eigenschaften, die nicht immer ausreichend gewürdigt werden (gerade dann, wenn man bei der PowerShell erst am Anfang steht). Aufgrund des Providerkonzepts sind die Item-Cmdlets so allgemein wie möglich gehalten. New-Item bietet nur den kleinsten gemeinsamen Nenner für das Anlegen von „Items“ wie Dateien, Verzeichnissen oder Registry-Keys (wenngleich es über dynamische Parameter durchaus möglich gewesen wäre, das New-Item-Cmdlet um einen Size-Parameter zu erweitern, der immer dann zur Verfügung steht, wenn der Path-Parameter auf ein FileSystem-Element verweist).

Doch die PowerShell ist in erster Linie eine Shell. Wer wirklich unbedingt eine Datei mit einer Anfangsgröße möchte, lässt sich entweder etwas einfallen oder verwendet dafür z.B. FsUtil.

Der folgende Befehl legt 1.000 Dateien mit 1 MByte Größe an:

1..1000 | Foreach-Object { fsutil file createnew Datei_$_.dat (1MB) }

Es ist kein Naturgesetz, dass Dateien mit New-Item angelegt werden müssen. Die PowerShell steht für Flexibilität.

Das 1MB muss, damit der Zahlenwert eingesetzt wird, in Klammern gesetzt werden. Hier kommt z.B. auch PB in Frage, was einen echten Stresstest für NTFS bedeuten dürfte. Ausprobiert habe ich es natürlich nicht.

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s