Batch copie multiple et renommage

[Résolu/Fermé]
Signaler
Messages postés
109
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
6 février 2020
-
Messages postés
109
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
6 février 2020
-
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.

2 réponses

Messages postés
18260
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
20 septembre 2021
5 370
hello
pour tronquer %2, ceci fonctionne
set x=%2
RACINE=%x:~0,-3%
Messages postés
109
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
6 février 2020

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.