Se eseguo questo codice:
:loop
(type "File" | findstr Idle) > nul 2>&1
timeout 1
if errorlevel 1 goto loop
Quindi se la stringa "Idle" non può essere trovata all'interno di File, ricomincerà da "loop" e continuerà a farlo fino a quando non verrà trovato "Idle" a quel punto si sposterà ulteriormente nel codice. Va tutto bene, e se il mio codice fosse strutturato in modo che fosse in fondo al codice piuttosto che in alto, le cose andrebbero bene qui, ma ho bisogno che questo sia il primo comando (quindi se viene trovato Idle , ripeti questo ciclo, se non viene trovato il minimo, scorri verso il basso)
Ma quando eseguo questo codice:
:loop
(type "File" | findstr Idle) > nul 2>&1
timeout 1
if errorlevel 0 goto loop
Ricomincerà sempre da "loop" indipendentemente dal fatto che sia possibile trovare la stringa "Idle".
Ho davvero bisogno di essere in grado di eseguire un comando se viene trovata la stringa (piuttosto che se la stringa non viene trovata (non sto pianificando di usare "goto" qui, ho bisogno di eseguire comandi specifici (come "goto") quando " Inattivo "viene trovato e un altro set di comandi quando non viene trovato, quindi ho bisogno di due livelli di errore validi o di un'alternativa).
Perché questo non funziona e quale altro modo c'è di fare questo?