copie de fichiers automatique

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
valarauko
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2010 11:12

copie de fichiers automatique

Message par valarauko »

Bonjour, je sollicite votre aide parce que là je suis dans l'impasse...

je m'explique :

j'ai un dossier qui contient plusieurs fichiers
dans ce dossier on trouve un fichier texte qui contient les chemins vers lesquels il faut copier chacun de ces fichiers

en fait j'aimerais faire un bat qui pour chaque fichier du dossier, vérifie s'il le trouve dans mon txt, puis le copie vers le chemin décrit dans ce txt.

Par exemple :
imaginons un dossier qui contient :
- test1.doc
- truc.xls
- machin.pdf
- chemins.txt

dans chemins.txt on trouve :
c:\test\test1.doc
d:\machin.machin.pdf
c:\Windows\truc.xls

il faudrait un programme qui copie chacun de ces trois fichiers dans leur chemin de destination respectif.

(j'ai déjà le fichier texte contenant les chemins)

je ne sais pas si je me suis bien expliqué

en tout cas si vous avez une idée je suis preneur, là je suis un peu perdu...
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: copie de fichiers automatique

Message par DarkBatcher »

bonjour,

je te propose de modifier ton fichier chemins.txt:

Code : Tout sélectionner

nomfichier,chemin
exemple:

Code : Tout sélectionner

toto.txt,c:\toto\toto.txt
Puis tu met une boucle for dans ton batch:

Code : Tout sélectionner

FOR /f  "tokens=1,2 delims=," %%A IN (chemins.txt) DO (
COPY "%%A%" "%%B%"
)
mais il se pourait que sa ne marche pas s'il y a des espaces

si tu ne sais pas te servir de la boucle for va voir là http://batcher.fr/fonctions.php#for et là http://batcher.fr/cmd/for.php
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
valarauko
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2010 11:12

Re: copie de fichiers automatique

Message par valarauko »

pas bête du tout ça ! merci

le problème c'est que mon fichiers "chemins.txt" est créé automatiquement par un XCopy qui vérifie et me liste les chemins des fichiers différents entre 2 dossiers
en gros voilà comment est créé mon chemins.txt

xcopy c:\dossier1 d:\dossier2 /Y /S /D /L > chemins.txt
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: copie de fichiers automatique

Message par DarkBatcher »

Bon la j'ai bien réfléchi et j'ai un code qui devrait aller avec ton chemins.txt créé automatiquement:

Code : Tout sélectionner

for /f %%A IN (chemins.txt) DO (
Rem on étend %%A en nom de fichier et extensions
Set nomfichier=%%~nxA%
Copy !nomfichier! %%A%
)
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
valarauko
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2010 11:12

Re: copie de fichiers automatique

Message par valarauko »

arf on doit pas être loin

quand je regarde le %%~nxA% me donne bien le nom du fichier et son extension ça c'est impeccable par contre il ne me fait pas l'initialisation de variable
j'ai tenté en changeant le nom de variable (on ne sait jamais ^^), ou en remplaçant les ! par des % mais rien n'y fait

quand je remplace par des % il ne me met rien du tout sinon avec les ! il m'affiche !nomfichier!

pourtant juste au dessus on voit bien le set nomfichier=test.doc (par ex.)

en tout cas merci beaucoup pour ton aide ;-)
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: copie de fichiers automatique

Message par DarkBatcher »

C'est normal que sa ne marche pas l'initialisation de variable car j'ai oublié de mettre :

Code : Tout sélectionner

setlocal enabledelayedexpansion


Désolé :roll:
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
valarauko
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2010 11:12

Re: copie de fichiers automatique

Message par valarauko »

j'avais vu ça aussi sur le net et testé mais ça ne change rien
j'ai aussi tenté de lancer cmd /V:ON et vérifié dans la base de registre mais j'ai bien EnableExtensions valeur:1
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: copie de fichiers automatique

Message par DarkBatcher »

Non, J'ai dit enabledelayedexpansion et pas enableextension:
-enableextension: active les extensions de commande
-enabledelayedexpansion: active l'expansion retardée de variable.

Normalement avec la ligne que j'ai mis ça marche :D
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
valarauko
Batcheur occasionnel
Messages : 5
Enregistré le : 18 août 2010 11:12

Re: copie de fichiers automatique

Message par valarauko »

En fait, j'ai balancé un echo !nomfichier! dans un txt et effectivement je retrouve bien mes noms de fichiers, et en vérifiant dans le dossier2 je retrouve bien mes fichiers copiés (j'ai juste remplacé le copy par un xcopy pour écraser les fichiers existants).

Merci beaucoup !!!

:D :D :D
Répondre