Batch copie multiple et renommage

Résolu
dhaze Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   -  
dhaze Messages postés 109 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'utilise un batch pour faire des photos (recto/verso).
Ce batch lance un fichier HTA avec des commande VB/WIA.

La photo prise est nommée à partir d'une variable et copiée dans un répertoire qui a le même nom.

Touts les répertoires existent déjà, et je n'ai pas la main sur les variables %2 et %3 qui sont définis en amont par le système.

Exemple:

Commande

photo.hta "%3%2\%2_R.tiff"
photo.hta "%3%2\%2_V.tiff"

Résultat

D:\PHOTO\PHOTO_000003_V1_1\PHOTO_000003_V1_1_R.tiff
D:\PHOTO\PHOTO_000003_V1_1\PHOTO_000003_V1_1_V.tiff


Mon problème:

Il se trouve que j'ai des volumaisons ou les photos doivent être identiques.

PHOTO_000001_V1_5
PHOTO_000001_V2_5
PHOTO_000001_V3_5
PHOTO_000001_V4_5
PHOTO_000001_V5_5
PHOTO_000002_V1_1
PHOTO_000003_V1_2
PHOTO_000003_V2_2
Etc...

Pour éviter de reprendre les photos pour chaque volume
Je voudrais en fin de batch pour le volume 1/X, avoir le choix de recopier ces photos dans les X répertoires du même volume.

Mais je ne peux pas identifier le nombre de volume qui est variable, il me faut donc tronquer le nom pour extraire la volumaison et de là copier et renommer les
photos pour les "ventiler" dans les répertoires ad hoc

Je me disais qu'en extrayant ces trois variables
(Je ne peux que tromquer par la droite, le nom de la racine peut être différant de "PHOTO_", qui est un exemple)

RACINE=%2:~0,-3%
VOL_N=%2:~-3,1%
VOL_TT=%2:~-1%

(Autre problème avec cette méthode, la troncature fonctionne avec %ma_var, par exemple, mais pas avec %2)

On pouvait renommer les fichiers et les copier dans leurs répertoires, N fois en utilisant VOLL_TT dans une boucle

Mais je ne sais pas comment m'y prendre...

Et que faire quand la volumaison passe à deux décimales ?

Lo.
A voir également:

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
pour tronquer %2, ceci fonctionne
set x=%2
RACINE=%x:~0,-3%
0
dhaze Messages postés 109 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci.

Je viens de faire un test en local avec un batch simple :
set x=PHOTO_000001_V1_5
FOR /L %%i IN (2,1,%x:~-1%) DO copy %x%\%x%_R.tiff %x:~0,-3%%%i_%x:~-1%\%x:~0,-3%%%i_%x:~-1%_R.tiff /Y
pause

Ca marche !

Lo.
0