Aide DOS

Aide DOS - Win 7 - Windows & Software

Marsh Posté le 29-05-2013 à 14:35:52    

Bonjour,
j'en appelle aux experts scripting est un bien grand mot en DOS, mais tout de même.
 
Dans une boucle sur des fichiers, je cherche à supprimer l'extension d'un fichier, or cela ne marche pas, la valeur noext est vide.
Pourquoi ?
 

Citation :


FOR %%i IN (*.TIF) do (  
SET "noext=%%~ni"
echo %noext%
gm convert -compress fax -density 150 -units PixelsPerInch "%%i" "%noext%-Tr.tif"  


 
 
Merci d'avance.

Reply

Marsh Posté le 29-05-2013 à 14:35:52   

Reply

Marsh Posté le 29-05-2013 à 15:42:17    

Je cherche et j'ai une piste, ma variable noext ne prend sa valeur qu'une fois la boucle FOR terminée et prend la dernier valeur %%i (dernier fichier .tif).
En dehors de ma boucle FOR, je ne redefinit pas cette variable, uniquement dedans, aucun intérêt sinon !
Chelou ...
 
 
PS : est ce qu'un gentil modo pourrait déplacer mon post dans la section shell/batch ?  :whistle:


Message édité par cypress124 le 29-05-2013 à 15:46:39
Reply

Marsh Posté le 29-05-2013 à 16:24:31    

J'ai trouvé
l'utilisation de SETLOCAL ENABLEDELAYEDEXPANSION et des !! pour appeler la variable dans la boucle !  
Ca faisait un moment que je tournais autour de cette variable sans comprendre son principe.
 
DOS ca parait simple comme ca, en fait c'est un langage de vicelard  :lol:  
 
Merci à moi même  :sol:

Reply

Sujets relatifs:

Leave a Replay

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