Se eu tiver um arquivo em lote criando uma tarefa agendada e ele for executado várias vezes, gostaria que ele ignorasse as tentativas subsequentes de criar a tarefa. Estou ciente do parâmetro /F que força a criação da tarefa, substituindo assim uma tarefa existente, mas estou pensando se existe uma opção equivalente para suprimir o aviso, mas NÃO substituir a tarefa.
Por exemplo, se você executar isso duas vezes:
SCHTASKS /CREATE /SC ONLOGON /TN "Test" /TR "notepad.exe"
Na segunda vez que você for solicitado:
WARNING: The task name "Test" already exists. Do you want to replace it (Y/N)?
Existe uma maneira de suprimir esse prompt ou responder N? Eu tentei isso:
ECHO N|SCHTASKS /CREATE /SC ONLOGON /TN "Test" /TR "notepad.exe"
Mas recebo um erro (que não faz sentido para mim):
ERROR: Invalid input. Valid values are (Y|N).
Esta é uma solução válida? Este erro pode ser ignorado com segurança? Ou devo fazer outra coisa?
Responder1
Você pode tentar isso:
<nul set /p="N" | SCHTASKS /CREATE /SC ONLOGON /TN "Test" /TR "notepad.exe"
Isso canaliza N para o comando sem ecoar uma nova linha.