Windows-Server-2012
PowerShell Remove-Item 無法處理聯結
Windows Server 2012 使用 PowerShell 在 temp 文件夾中創建日誌文件:
$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)。有沒有辦法解決?
好的,在上面 Etan 的幫助下,我有一個解決方法。$env:Temp 返回一個短文件名路徑,它適用於除 Remove-Item之外的許多東西。所以解決方法是使用 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