copie d'un dossier + de ses fichiers [batch] - Shell/Batch - Programmation
Marsh Posté le 21-03-2007 à 15:22:52
merci beaucoup mais en fait, mon script récupère tous les noms de dossiers qu'il doit copier depuis un fichier texte. Il récupère des chemins tels que:
D1\D1.1\D1.1\D1.1.1
D2\D2.1
D3\D3.1\D3.1.1
ainsi il va y avoir des problèmes si j'effectue la copie vers le dossier de destination
car si je fais xcopy D1\D1.1\D1.1\D1.1.1 destination\
Il ne me copiera pas le répertoire D1.1.1
pour celil faudrait que je fasse
xcopy D1\D1.1\D1.1\D1.1.1 destination\D1.1.1
ce qui impliquerait que j'arrive à retirer du chemin D1\D1.1\D1.1\D1.1.1 le dernier élément délimité par "\", soit D1.1.1.
Bref, je ne vois vraiment pas comment faire...
Si vous avez des idées, je suis preneur.
Marsh Posté le 21-03-2007 à 15:33:38
baobazz a écrit : ce qui impliquerait que j'arrive à retirer du chemin D1\D1.1\D1.1\D1.1.1 le dernier élément délimité par "\", soit D1.1.1. |
Petit test :
Code :
|
Marsh Posté le 21-03-2007 à 16:49:26
bonjour nglechau et merci pour ta réponse!
en fait, mon batch est le suivant pour l'instant, prenant en compte tes conseils:
Code :
|
le problème est que ça ne le fait que pour le premier dossier...
pourtant, je suis certain d'y être presque!
Marsh Posté le 21-03-2007 à 16:59:52
Le probleme vient de ton :
set dossier_source=%%a
dans une boucle for. Tu peux lire l'aide de set
set /?
pour le paragraphe concernant l'expansion retardee des variables.
Tu pourrais a mon avis passer carrement %%a en argument d'une procedure qui fait et l'extraction du nom du dossier et la copie.
Code :
|
Marsh Posté le 21-03-2007 à 18:28:01
merci nglechau!
Tu m'as bien aidé. Ca marche.
Pour ceux que ça intéresse, here is the final code:
Code :
|
merci beaucoup!
Marsh Posté le 21-03-2007 à 09:50:32
Bonjour,
A premier abord, ma question paraît simple mais voilà ma constatatio: si je fais
avec dossier1 contenant les fichiers F[1.1=>1.n]
les fichiers contenus dans dossier1 seront copiés dans dossier2...
j'aurai donc /dossier2/F[1.1=>1.n]
seulement, je souhaite copier également le dossier 1; je veux avoir:
/dossier2/dossier1/F[1.1=>1.n]