指定した動作を一時フォルダ内で実行する関数を作った。
function RunInTemporaryFolder([scriptblock]$Process) {
$Current = Get-Location
$WorkFolder =
New-TemporaryFile |
ForEach-Object {
Remove-Item $_
mkdir $_
}
Set-Location -Path $WorkFolder
& $Process
Set-Location -Path $Current
Remove-Item -Path $WorkFolder -Recurse -Force
}
使用方法・実行例
使用方法
RunInTemporaryFolder({
# 実行する動作
})
実行例
RunInTemporaryFolder({
Get-Location
})
実行結果
Path
----
C:\Users\ix523\AppData\Local\Temp\tmpCA44.tmp