Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2403 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [batch]inventaire réseau-problème de boucle "for"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[batch]inventaire réseau-problème de boucle "for"

n°1393853
baobazz
Posté le 23-06-2006 à 17:10:36  profilanswer
 

Bonjour,
 
Je suis en train de réaliser une série de batches pour effectuer un inventaire matériel et logiciel de toutes les machines de mon parc grâce aux pstools mais jai des soucis avec une boucle...
 
voilà la partie de code qui pose problème:
 
en gros,
 

Code :
  1. set services=seda stats direction SAG SEF SERH ITEPSA
  2. REM Mise en forme de la date pour le nom du fichier
  3. REM d'abord, l'extraire sous la forme jj/mm/aaaa :
  4. for /f "tokens=2" %%A in ('date /t') do set jourtmp=%%A
  5. REM ensuite, la transformer sous la forme mm-jj :
  6. FOR /F "delims=/ TOKENS=1,2*" %%A IN ('@echo %jourtmp%') DO SET mois=%%B-%%C
  7. for %%v in (%services%) do (
  8. set fichier_inventaire="inventaires\%%v\inventaire_%%v_%mois%.txt"
  9. echo le %date% à %heure% >> %fichier_inventaire%
  10. for /F "eol=; tokens=1,2 delims=," %%a in (services\%%v.txt) do (call psinventory.bat %%a "%%b" %%v %mois%)
  11. )


 
le problème esy qu'il ne reconnaît pas la variable %fichier_inventaire% à la ligne  

Code :
  1. echo le %date% à %heure% >> %fichier_inventaire%


 
%fichier_inventaire% est vide
 
Comment faire pour qu'elle soit reconnue?
 
Merci!

mood
Publicité
Posté le 23-06-2006 à 17:10:36  profilanswer
 

n°1393963
wackevat
Posté le 23-06-2006 à 21:18:14  profilanswer
 

C'est normal : il faut utiliser l'expansion retardée des variables.
 
set /?
pour plus d'infos.
 
Mais le plus simple serait d'appeler une procédure :

Code :
  1. for ... %%v in (...) do (
  2.   call :process "%%v"
  3. )
  4. goto next
  5. :process
  6. echo %~1
  7. goto :eof
  8. :next

n°1395482
baobazz
Posté le 27-06-2006 à 09:25:42  profilanswer
 

merci nglechau!
 
grâce à toi, je viens d'apprendre deux atres notions qui ne figuraient pas ds mon tuto batch: l'expansion retardée et les appels de balises avec paramètres!
 
:)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [batch]inventaire réseau-problème de boucle "for"

 

Sujets relatifs
cherche batch pour changer un Wallpaper sous Win98Jeu en reseau, probleme de lag!
[VBA ACCESS] appli en reseauProblème avec Excel
probleme avec arctan[VB & EXCEL] Problème de récupération de date
Export Excel probleme[PHP]Problème de formulaire
Probleme fonction VBA 
Plus de sujets relatifs à : [batch]inventaire réseau-problème de boucle "for"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR