[英]How I can set automatically [L] Not to all?
$ConfirmPreference=”High” 沒有幫助,因為“High”總是會出現消息。 我坐在 $ConfirmPreference=”None” 一樣。
實際的 cmdlet 是一個 Remove-Item。 是的,我有 testet -Force 和 -Confirm:$false 並且提交總是來的。
powershell 用戶輸入可以模擬嗎? 像這樣?:[System.Windows.Forms.SendKeys]::SendWait("{L}") 在 Z531B84AD41B2A753DA83ACF367990701 中怎么會這樣?
PowerShell 的確認提示並非旨在以編程方式響應; 反而:
要么:用戶應該以交互方式決定。
或者:提示應該被完全抑制(暗示一個[A] Yes to All
響應),這需要:
-Confirm:$false
,用於定義可通過通用-Confirm
參數或$ConfirmPreference
首選項變量控制的確認影響(與 cmdlet 操作相關的潛在破壞性/風險的評級)的 cmdlet,例如Remove-Item
-Force
,用於無條件顯示確認提示的 cmdlet,例如Set-ExecutionPolicy
。
在Remove-Item
的情況下,特別是 -除了確認影響機制之外 - -Recurse
表示刪除目錄及其所有內容的明確意圖。
在您的特定情況下,如果目標目錄為非Remove-Item
,則默認為[L] No to All
的等價物是根本不調用 Remove-Item :
# Assume $dir contains the literal directory path of interest.
if (Get-ChildItem -Force -LiteralPath $dir | Select-Object -First 1) {
Write-Error "Cannot remove directory $dir, because it is not empty."
}
else {
Remove-Item -LiteralPath $dir
}
相反,如前所述, Remove-Item -Recurse -LiteralPath $dir
將抑制確認提示,但在刪除之前悄悄地 go (暗示[A] Yes to All
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.