Renommer dossiers par lots dans un batch
Modérateurs : Papy.G, fneck, Carl
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Renommer dossiers par lots dans un batch
Il faut doubler le % uniquement dans le paramètre du FOR. Pour la commande de COPY il faut un seul %. J'ai jamais compris la logique de ce truc, mais c'est comme ca que ca marche (et globalement DOS est une daube sans nom quand il sagit de jouer avec les substitutions.)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Renommer dossiers par lots dans un batch
Bon, j'ai trouvé, c'est hyper vicieux :
En fait, il ne faut pas appeler la variable de boucle %N mais %I, car toutes les substitutions données dans l'exemple marchent avec la lettre !
Et il faut bien double % partout
Merci du coup de main !!
Code : Tout sélectionner
FOR /R c:\curl %%I IN (*.png) DO copy %%~I c:\zorkdemo\%%~nxI
Et il faut bien double % partout
Merci du coup de main !!
-
- Messages : 7923
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Renommer dossiers par lots dans un batch
Ouf! C'est vrai que c'est un b*rdel ces trucs Des fois il faut utiliser !VARIABLE! au lieu de %VARIABLE%, des fois %%I, des fois uniquement %I (et pas %I%)... Je ne sais pas quel les le c*n qui a inventé MSDOS, mais il ne maitrise pas bien la notion de langage bien structuré. Pour le coup je crois que ton erreur était d'avoir mis %%~nxI au lieu de %%~nxN dans le paramètre du COPY car mon exemple avec la variable N marche bien(bien sur en doublant le % quand on execute dans un fichier .BAT)
Code : Tout sélectionner
FOR /R c:\temp\source %N in (*.*) do ren %N c:\temp\dest\%~nxN
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos