Archive for 30. April 2015

Temporäre Dateien in Powershell erzeugen

30 April 2015

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.

Advertisements