copie de fichiers automatique
Modérateur : WIN32-[GG]
copie de fichiers automatique
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...
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...
-
- King Of Batch
- Messages : 66
- Enregistré le : 06 juil. 2010 17:37
- Contact :
Re: copie de fichiers automatique
bonjour,
je te propose de modifier ton fichier chemins.txt:
exemple:
Puis tu met une boucle for dans ton batch:
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
je te propose de modifier ton fichier chemins.txt:
Code : Tout sélectionner
nomfichier,chemin
Code : Tout sélectionner
toto.txt,c:\toto\toto.txt
Code : Tout sélectionner
FOR /f "tokens=1,2 delims=," %%A IN (chemins.txt) DO (
COPY "%%A%" "%%B%"
)
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
Re: copie de fichiers automatique
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
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
-
- King Of Batch
- Messages : 66
- Enregistré le : 06 juil. 2010 17:37
- Contact :
Re: copie de fichiers automatique
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
Re: copie de fichiers automatique
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
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

-
- King Of Batch
- Messages : 66
- Enregistré le : 06 juil. 2010 17:37
- Contact :
Re: copie de fichiers automatique
C'est normal que sa ne marche pas l'initialisation de variable car j'ai oublié de mettre :
Désolé
Code : Tout sélectionner
setlocal enabledelayedexpansion
Désolé

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
Re: copie de fichiers automatique
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
j'ai aussi tenté de lancer cmd /V:ON et vérifié dans la base de registre mais j'ai bien EnableExtensions valeur:1
-
- King Of Batch
- Messages : 66
- Enregistré le : 06 juil. 2010 17:37
- Contact :
Re: copie de fichiers automatique
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
-enableextension: active les extensions de commande
-enabledelayedexpansion: active l'expansion retardée de variable.
Normalement avec la ligne que j'ai mis ça marche

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
Re: copie de fichiers automatique
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 !!!

Merci beaucoup !!!


