Temporäre Dateien in Powershell erzeugen


Lange hat es gedauert aber jetzt ist sie da. Microsoft hat in der April 2015 Preview für Powershell 5.0 eine Funktion für temporäre Dateien implementiert. New-TemporaryFile erzeugt eine temporäre Datei und gibt dessen Dateinamen in Form eines FileInfo-Objekt zurück.

Leider gibt es New-TemporaryFile nicht bei alten Versionen. Aber es gibt ja Polyfills. Hintergründe wie man Polyfills in Powershell erzeugen kann, kann man hier nachlesen: https://newyear2006.wordpress.com/2014/11/17/fehlende-cmdlets-in-powershell-durch-polyfills-nachbilden/.

Auf dieser Basis kann man mittels dieses Scripts die fehlende Funktion nachrüsten:

if (-not (Get-Command New-TemporaryFile -ErrorAction SilentlyContinue)) {
  &{ Function global:New-TemporaryFile ($Parameter) {
            [System.IO.FileInfo][System.IO.Path]::GetTempFileName()
        }
    }
}

Somit kann man bei älteren Powershell-Skripte bereits Funktionen nutzen, welche noch nicht verfügbar sind.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

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


%d Bloggern gefällt das: