Powershell pede irritantemente que eu confirme y pressione com enter. Como confirmar com apenas y clique?

2

Por exemplo, eu tenho um comando de remoção: ls|rm -Confirm

Para cada arquivo, tenho que pressionar 'y' e inserir sequencialmente. Na maioria das conchas, basta pressionar apenas 'y'. Como evitá-lo no PowerShell?

Atualização: Não é sobre scripts que eu escrevi. É sobre scripts que outras pessoas escreveram. Eu preciso de qualquer hack que pode me dar essa possibilidade para evitar duas chaves para todos os scripts no meu sistema.

    
por Georgy Grigoryev 19.10.2018 / 15:27

1 resposta

3

Por que você está usando -Confirm se não quiser ser avisado? Isso é o que o -Confirm faz: forçar um prompt de confirmação.

Se você quiser forçar a ação sem prompt, use a opção -Force .

Com base nos seus comentários, tenho duas soluções.

  1. Em vez de Y, pressione A. Isso irá responder Y para todos os itens no comando atual.

  2. Escreva seu roteiro para que você mesmo cuide da confirmação. Por exemplo:

    $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!"
    }
    
por 19.10.2018 / 15:32

Tags