3
我在寫一個檢查目錄是否存在的小腳本,如果它們存在,就刪除它們。我想有信息輸出,因此我要輸出時,將文件夾刪除的確認:在Powershell中沒有換行符的寫輸出?
Deleting C:\wherever\folder1...
Done
Deleting C:\wherever\folder2...
Done
雖然我的目標爲:
foreach ($e in $directoriesToRemove)
{
Write-Output "Deleting $e`..."
Remove-Item $e -recurse
Write-Output "Done"
}
這之中的輸出
Deleting C:\wherever\folder1... Done
Deleting C:\wherever\folder2... Done
我知道Write-Host可以用-nonewline參數來實現,但是我希望儘可能避免使用Write-Host。
除了等待文件夾正在刪除並一次寫入整行以外,是否有解決方法? 我發現,這行工作,但我不知道,如果把刪除命令一個寫命令的輸出裏面是安全/最佳實踐:
Write-Output "Deleting $e`... $(Remove-Item $e -recurse) Done"
不,AFAIK。另外,在執行* write-output之前,將命令放入內部將簡單地評估它*。 – wOxxOm