Boucle FOR : ") etait inattendu"

Boucle FOR : ") etait inattendu" - Shell/Batch - Programmation

Marsh Posté le 16-11-2017 à 17:19:27    

Bonjour,
 
J'ai un petit launcher qui parcours une liste de hostname pour lancer un batch sur chaque poste avec le nom d'hote en parametre.
Il fonctionnait tres bien mais etait un peu lent, alors j'ai apporté une petite modification à mon batch dans le but d'accelerer son deroulement.
Maintenant il plante des le debut de l'execution avec le retour " ) etait inattendu"  
Je ne trouve pas mon erreur, votre aide serait très appréciée.  
 
AVANT :

Code :
  1. @echo off
  2. echo %time% --------------- LAUNCHER started>>log.txt
  3. for /f %%a in ('type hostnames.txt') do (
  4. IF EXIST "\\%%a\C$\Windows\System32\config.txt" (
  5.  start starter.cmd %%a
  6.  echo %time% $$$$$$$$$$ Started psexec for %%a $$$$$$$$$$>>log.txt
  7. )
  8. )


APRES :

Code :
  1. @echo off
  2. echo %time% --------------- LAUNCHER started>>log.txt
  3. for /f %%a in ('type hostnames.txt') do (
  4. PING -n 1 %%a | FIND "TTL" > NUL
  5. IF ERRORLEVEL 1 GOTO NEXT
  6. IF EXIST "\\%%a\C$\Windows\System32\fsdbupdate.exe" (
  7.  start /b starter.cmd %%a
  8.  echo %time% $$$$$$$$$$ Started psexec for %%a $$$$$$$$$$>>log.txt
  9. )
  10. :NEXT
  11. )

Reply

Marsh Posté le 16-11-2017 à 17:19:27   

Reply

Marsh Posté le 17-11-2017 à 19:50:11    

On dirait que Windows n'aime pas la parenthèse directement après le label... Solution bricolage mais qui semble marcher:
)
:NEXT
rem blabla
)
 
(rem = commentaire)

Reply

Marsh Posté le 17-11-2017 à 20:21:18    

Bonjour,

 

Cela fait bien trop longtemps que je n'ai pas fait de batch mais ne serait-ce pas possible d'éviter un goto label en inversant la condition du if et en incluant le second if dedans? Cela me semblerait plus propre, mais peut-être que quelque chose m'échappe.

 

Sinon je pense qu'il attend une commande après le next donc peut-être tenter :
:NEXT
()
)

Message cité 1 fois
Message édité par MaybeEijOrNot le 17-11-2017 à 20:21:49

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 17-11-2017 à 20:35:30    

MaybeEijOrNot a écrit :

Cela fait bien trop longtemps que je n'ai pas fait de batch mais ne serait-ce pas possible d'éviter un goto label en inversant la condition du if et en incluant le second if dedans? Cela me semblerait plus propre, mais peut-être que quelque chose m'échappe.

Non tu as raison, on pourrait aussi faire comme ça. :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed