Назад | Перейти на главную страницу

Powershell раздражающе просит меня подтвердить нажатие клавиши Enter. Как подтвердить всего одним щелчком?

Например, у меня есть команда удаления: ls|rm -Confirm

Для каждого файла я должен нажимать «y» и вводить последовательно. В большинстве оболочек достаточно просто нажать «y». Как этого избежать в PowerShell?

Обновление: это не про скрипты, которые я написал. Речь идет о сценариях, написанных другими людьми. Мне нужен любой хак, который может дать мне такую ​​возможность, чтобы избежать двух ключей для ВСЕХ скриптов в моей системе.

Почему вы используете -Confirm если вы не хотите, чтобы вас спрашивали? Это то что -Confirm делает: заставляет запрашивать подтверждение.

Если вы хотите принудительно выполнить действие без подсказки, используйте -Force вариант вместо этого.


Основываясь на ваших комментариях, у меня есть два решения.

  1. Вместо Y нажмите A. Это ответит Y для всех элементов в текущей команде.

  2. Напишите свой сценарий, чтобы вы сами обрабатывали подтверждение. Например:

    $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!"
    }