Como posso dormir em um arquivo de lote do Windows em uma sessão não interativa?

1

Eu tenho um script em lotes que é executado fora de um prompt de comando interativo. Eu quero dormir por 30 segundos entre dois comandos nele?

Li em algumas respostas para perguntas semelhantes que você pode usar timeout ou choice , mas elas falham em uma sessão não interativa.

ERROR: Input redirection is not supported, exiting the process immediately.

Li em outras respostas a perguntas semelhantes que você pode usar waitfor , mas isso definirá um nível de erro e confio naquelas no script geral.

Eu vi usando um ping que irá falhar ping -n 1 -w 30000 192.168.not.reachable > NUL e isso parece funcionar, mas isso parece errado e eu não posso confiar em um único IP que não pode ser acessado em todos os sistemas nos quais eu implantarei.

Existe outra maneira de eu tentar?

Obrigado.

EDITOS:

Esta resposta ( Como dormir em um arquivo de lote? ) definitivamente tem material relacionado, mas não aborda a necessidade de uma solução que funcione fora de um shell interativo. Ele menciona a única alternativa que eu tenho agora: ping , mas como eu pergunto acima, estou procurando alternativas.

Além disso, obrigado pelas sugestões do PowerShell, mas isso não é possível agora.

    
por Jobu 30.08.2016 / 02:24

1 resposta

0

De link

Non-DOS Scripting

Use the SysSleep function whenever you need a time delay in Rexx scripts. SysSleep is available in OS/2's (native) RexxUtil module and in Patrick McPhee's RegUtil module for 32-bits Windows.

Use the Sleep command for time delays in KiXtart scripts.

Use WScript.Sleep, followed by the delay in milliseconds in VBScript and JScript (unfortunately, this method is not available in HTAs).

The following batch code uses a temporary VBScript file to generate an accurate delay:

@ECHO OFF
REM %1 is the number of seconds for the delay, as specified on the command line
> "%Temp%.\sleep.vbs" ECHO WScript.Sleep %~1 * 1000
>> CSCRIPT //NoLogo "%Temp%.\sleep.vbs"
>> DEL "%Temp%.\sleep.vbs"

Não é a minha solução, só encontrei:

    
por 31.08.2016 / 23:54

Tags