Page 1 sur 1

[Résolu] Script en continue

Posté : 05 août 2015 13:34
par serenodo
Bonjour,
J'ai fait ce script mais comme je dois le faire pour 53 dossiers, j'aimerai savoir la commande pour lancer le script une seule fais et il me demande pour continuer.
Sinon je dois lancer 53 fois le script et rentrer 53 les numéros .

Code : Tout sélectionner

SET /P Semaine=
xcopy Y:\Matrice_User\Codir_Lundi_Semaine_.xlsm Y:\Semaine_%Semaine% /F
rename "Y:\Semaine_%Semaine%\Codir_Lundi_Semaine_.xlsm" "Codir_Lundi_Semaine_%Semaine%.xlsm
::Entrer une autre semaine 
::et ainsi de suite .........
 
Merci

Re: Script en continue

Posté : 06 août 2015 00:40
par batch_guy
Salut !
pour ne pas avoir à relancer le batch tu peux faire une boucle "à l'ancienne" de ce style.
Tu places ces deux lignes avant ton SET /P

Code : Tout sélectionner

:retour
SET /A compteur+=1
et celle-ci après tes commandes XCOPY et RENAME

Code : Tout sélectionner

IF NOT %compteur%==53 GOTO retour
Sinon si tes dossiers sont numérotés 1 2 3 4 etc jusqu'à 53

Code : Tout sélectionner

:retour
SET /A Semaine+=1
:: XCOPY
:: RENAME
IF NOT %Semaine%==53 GOTO retour

Re: Script en continue

Posté : 06 août 2015 15:30
par serenodo
Bonjour batch_guy,
Super tes codes, je vais faire les essais pour voir lequel est le mieux pour moi.

Merci très sincèrement

Re: Script en continue

Posté : 06 août 2015 15:41
par serenodo
Bonjour,
j'ai essayé les deux scripts, mais cela créé un dossier .

mes dossiers s’appellent Semaine_01 Semaine_02 .......... Semaine_53

Merci

Re: Script en continue

Posté : 06 août 2015 16:56
par serenodo
Bonjour,
j'ai trouvé une solution avec deux fichiers bat.
fichier bat 1 du N° 1 à 9

Code : Tout sélectionner

:retour
SET /A Semaine_0+=1
xcopy Y:\Matrice_User Y:\Semaine_0%Semaine_0% /F

rename "Y:\Semaine_0%Semaine_0%\Apchie_Nicolas_Semaine_.xlsx" "Apchie_Nicolas_Semaine_0%Semaine_0%.xlsx"

IF NOT %Semaine_0%==9 GOTO retour

 
fichier bat 1 du N° 10 à 53

Code : Tout sélectionner

:retour
SET /A Semaine_0+=1
xcopy Y:\Matrice_User Y:\Semaine_%Semaine_0% /F

rename "Y:\Semaine_%Semaine_0%\Apchie_Nicolas_Semaine_.xlsx" "Apchie_Nicolas_Semaine_%Semaine_0%.xlsx"

IF NOT %Semaine_0%==53 GOTO retour

 
mais je ne sais pas comment faire commencer le compteur à 10
merci

Re: Script en continue

Posté : 06 août 2015 19:43
par batch_guy
Bonsoir !
Content d'avoir pu te filer un coup de pouce :)
Je pensais que tes dossiers portaient simplement des numéros en noms !
Pas mal tes améliorations de code !

Sinon je te propose celui-ci

Code : Tout sélectionner

:retour
SET /A compteur+=1

IF %compteur% LSS 10 (SET Semaine_=Semaine_0%compteur%
) ELSE (
SET Semaine_=Semaine_%compteur%
)
:: XCOPY
:: RENAME
IF NOT %compteur%==53 GOTO retour
Pour faire commencer ton compteur à 10 il faut l'initialiser à 9 avant le point de retour

Code : Tout sélectionner

SET /A compteur=9
:retour
:: à la première lecture de la ligne suivante, compteur vaudra donc 10
SET /A compteur+=1
Je reste à ta disposition au cas où tu en aurais besoin.

Re: Script en continue

Posté : 07 août 2015 16:09
par serenodo
Bonjour batch_guy,
Merci très sincèrement pour tes codes et surtout tes explications.
Que du bonheur pour moi.

Merci

Re: [Réssolu] Script en continue

Posté : 07 août 2015 19:01
par batch_guy
Salut serenodo, de rien, ça m'a fait plaisir :)