Windows Server 2012 с помощью PowerShell для создания файла журнала во временной папке:
$LogFile = $env:temp + "\MigrateMyDocs.log"
Допустим, один сценарий уже запущен, и вы хотите удалить файл журнала в начале сценария, используя что-то вроде этого:
If (Test-Path($LogFile)) {
[void](Remove-Item -Path $LogFile -Force)
}
Это не работает как Remove-Item
кажется, больше на функции AppData в $LogFile
:
"C:\Users\IT0A9D~1.SUP\AppData\Local\Temp\1\MigrateMyDocs.log"
Кажется, мозг немного мертв Remove-Item
не разбираться в стыках (AppData). Есть ли что-нибудь вокруг этого?
Хорошо, с помощью Этана выше у меня есть обходной путь. $ env: Temp возвращает короткий путь к имени файла, который работает для многих вещей Кроме Убрать предмет. Таким образом, обходным путем является использование GetFullPath для преобразования его в длинный путь, который затем может использовать Remove-Item:
Это не работает:
$LogFile = $Env:Temp + "\Test.log"
"Hello, World" > $LogFile
Remove-Item $LogFile
Это действительно работает:
$LogFile = [System.IO.Path]::GetFullPath($env:Temp + "\Test.log")
"Hello, World" > $LogFile
Remove-Item $LogFile