[Batch] Problème de variable dans boucle for

Problème de variable dans boucle for [Batch] - Shell/Batch - Programmation

Marsh Posté le 10-04-2008 à 09:06:39    

Bonjour à tous,
 
J'ai besoin d'un petit coup de main.
Je souhaite attribuer un attribut de lecture seule a plusieurs dossiers.
Je souhaite pour cela utiliser une boucle for, de manière a attribuer cet attribut a tous les dossiers contenant des fichiers .ico.
J'ai écrit une petite routine mais elle ne fonctionne pas et je ne sais pas trop pourquoi:
 
FOR /F "delims=" %%G IN ('DIR *.ico /S /B /A') DO (
SET VAR=%%~dpG
SET VAR1=%VAR:~0,-1%
ATTRIB +R "%VAR1%"
)
 
Je ne sais pas pour quelle raison étrange la varible VAR est vide??? :pfff:  
Merci d'avance pour vos réponses.
 :hello:

Reply

Marsh Posté le 10-04-2008 à 09:06:39   

Reply

Marsh Posté le 19-04-2008 à 12:59:25    

il faut utiliser l'expansion retardée de variables d'environnement:  
 

Code :
  1. setlocal enableDelayedExpansion
  2. FOR /F "delims=" %%G IN ('DIR *.ico /S /B /A') DO (
  3. SET VAR=%%~dpG
  4. SET VAR1=!VAR:~0,-1!
  5. ATTRIB +R "!VAR1!"
  6. )
  7.     endlocal


Message édité par Coolnut le 19-04-2008 à 12:59:40
Reply

Sujets relatifs:

Leave a Replay

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