Например, у меня есть команда удаления: ls|rm -Confirm
Для каждого файла я должен нажимать «y» и вводить последовательно. В большинстве оболочек достаточно просто нажать «y». Как этого избежать в PowerShell?
Обновление: это не про скрипты, которые я написал. Речь идет о сценариях, написанных другими людьми. Мне нужен любой хак, который может дать мне такую возможность, чтобы избежать двух ключей для ВСЕХ скриптов в моей системе.
Почему вы используете -Confirm
если вы не хотите, чтобы вас спрашивали? Это то что -Confirm
делает: заставляет запрашивать подтверждение.
Если вы хотите принудительно выполнить действие без подсказки, используйте -Force
вариант вместо этого.
Основываясь на ваших комментариях, у меня есть два решения.
Вместо Y нажмите A. Это ответит Y для всех элементов в текущей команде.
Напишите свой сценарий, чтобы вы сами обрабатывали подтверждение. Например:
$todelete = ls
$choice = ""
while ($choice -notmatch "[y|n]"){
$choice = read-host "Do you want to continue? (Y/N)"
}
if ($choice -eq "y"){
$todelete | rm -Force
}
else
{
write-host "Canceled!"
}