.bat

Fermé
guillemot - 4 oct. 2003 à 22:21
 Utilisateur anonyme - 5 oct. 2003 à 21:27
Bonsoir à tous.
J'ai fait un fichier .bat basique qui copie les fichiers d'un répertoire sur
une disquette.
L'extension des fichiers est amenée à changer tous les mois.
.308 pour les fichiers du mois d'août
.309 pour ceux de septembre.
Tous les mois je dois donc modifier les commandes de copie de mon .bat en y
changeant les extensions.
L'un ou l'une d'entre vous aurait-il une astuce pour automatiser ce
changement d'extension ?
Merci beaucoup.
Au revoir et à bientôt.
Pascal.

2 réponses

Utilisateur anonyme
4 oct. 2003 à 23:12
NB : S'ils auront la même extension alors voilà la solution :

- les primitives (Arguments) :

- Un fichier BAT est un fichier ASCII pour une éventuelle exécution d'un LOT de commandes sans interruption, en Anglais we say BATCH.
- Supposons que les fichiers sont nommés comme suit :

avbxzs.308
mplqiz.308
pmsps.308
kwsck.308
...
..

- pour la syntaxe de la commande COPY est la suivante :

COPY <param1>  <param2>


d'où <param1> : est le premier paramètre de la commande et <param2> est son second.
Comme les deux peuvent avoir la syntaxe suivante :
[U:\][Chemin][Nom/Filtre]

Soit U: désigne A: B: C:.. même pour un graveur sous WINXp avec le logiciel Incd peut fonctionner..

donc la syntaxe sera la suivante :

COPY [U:\][Chemin][fichier/Filtre]  [U:\][Chemin][fichier/Filtre]

Exemple :

Copy c:\compte\avbxzs.308   A:
Copy c:\compte\mplqiz.308   A:
Copy c:\compte\pmsps.308   A:
Copy c:\compte\kwsck.308   A:
...
..
Astuces :

Soit votre fichier BAT est intitulé GO.BAT, alors :
Astuce n°1) on peut paramétrer <param1> et <param2> par un passage, je voulais dire, qu'un fichier Bat(ch) peut avoir les arguments sous la forme suivante :

COPY %1 %2
(voir qu'il n'y a pas de nom de fichier et la commande devient standard et non figée)

devant le message d'invite taper :
C:\> GO xfdcsgb.308 A:\agjsdjjs.309
..

Aussitôt %1 représente xfdcsgb.308, et %2 celui de A:\agjsdjjs.309

Astuce n°2) la commande COPY permet aussi de renommer un fichier (comme dans l'exemple précédent).

Récapitulation :

Dans votre fichier Bat(ch), taper les lignes suivantes :

Copy c:\compte\avbxzs.308   A:\*.%1
Copy c:\compte\mplqiz.308  A:\*.%1
Copy c:\compte\pmsps.308   A:\*.%1
Copy c:\compte\kwsck.308   A:\*.%1
...
..


Tu t'interroge.. Que veut dire la partie droite de la commande (A:\*.%1) ? elle veut dire : tout en gardant le même nom du fichier, changer seulement l'extension,

- et Pour ton cas, utiliser comme unique paramètre le code du mois, supposons que nous sommes au mois de septembre alors, devant le message d'invite taper :

GO 309

Bonne chance à toi. :-

Avec comment ça marche, oui ça marche ?

[ Ton Doux Visage ]
0
Utilisateur anonyme
5 oct. 2003 à 21:27
j'ajoute que la commande peut être écrite :

COPY *.* A:\*.%1


si bien sur le repertoire ne contient que ces fichiers dont tu parlais ..!!

bon chance..:-)

[ Ton Doux Visage. ]
0