2010-05-07 14 views
0

J'ai créé un fichier .bat avec les lignes ci-dessousavec mise en veille findstr dans un .bat

cd C:\MyFolder 
d: 
findstr "Apple" C:\log.txt |findstr "red" > red_apples.txt 
SLEEP 3600 
GOTO START 

Lorsque la chauve-souris est exécuté, le SLEEP ne fonctionne pas et les commandes sont en cours d'exécution en continu.

Y at-il un problème avec le code? S'il vous plaît aider!

+0

Qu'est-ce que le sommeil? Ce n'est pas ici sur mon système Windows 7. –

Répondre

2

Je ne crois pas que Windows a un sleep, vous pouvez émuler avec ping, comme le montre cet exemple chkwait.cmd script:

@setlocal enableextensions enabledelayedexpansion 
    @echo off 
    echo %time% 
    call :waitfor 20 
    echo %time% 
    endlocal 
    goto :eof 

:waitfor 
    setlocal 
    set /a "t = %1 + 1" 
    >nul ping 127.0.0.1 -n %t% 
    endlocal 
    goto :eof 

Le call :waitfor 20 dans le script ci-dessus attendra vingt secondes:

pax> chkwait 
10:18:13.42 
10:18:33.51 
+0

Merci paxdiablo. Ça a marché. – user270506

0

SLEEP n'existe pas dans le script batch Windows. Vous auriez créé votre propre fichier wrapper Sleep et appelez cela depuis le lot. Ou utilisez le truc intelligent de @paxdiablo ci-dessus.

+0

Merci, Chris. L'idée de paxdiablo a fonctionné. – user270506