Заметки о Windows и других программных продуктах Microsoft...

Создание временного файла в PowerShell

Создание временного файла в PowerShell

Зачастую при написании скриптов требуется создать временный файл для хранения каких либо промежуточных данных. PowerShell позволяет сделать это двумя различными способами.

Первый способ предполагает прямое использование .NET, для создания файла используется метод GetTempFileName класса System.IO.Path. Для примера создадим временный файл такой командой:

$file = [System.IO.Path]::GetTempFileName()

После создания файл можно использовать для хранения данных. В качестве примера поместим в него список процессов, наиболее сильно нагружающих процессор:

Get-Process | where {$_.CPU -ge 1} | Out-File $file

Как видите, данные сохранены и с ними можно работать, например отформатировать нужным образом или произвести какие-нибудь вычисления. Ну а после этого файл можно удалить командой:

Remove-Item $file

создание файла с помощью .Net

 

Этот способ универсален и работает на всех версиях PowerShell, хотя и несколько сложен. Видимо поэтому в PowerShell 5.0 появился специальный командлет New-TemporaryFile, с помощью которого можно создать временный файл. Обращаться к созданному файлу нужно по свойству FullName. Cоздание файла с использованием данного командлета будет выглядеть так:

$file = New-TemporaryFile

Так добавление данных:

Get-Process | where {$_.CPU -ge 1} | Out-File $file.FullName

и удаление:

Remove-Item $file.FullName

создание файла с помощью командлета

 
 
Комментарии

Удалить можно и проще
$file.Delete()

И так можно. Дело вкуса 🙂