Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2622 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Script batch copie et sauvegarde de fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script batch copie et sauvegarde de fichier

n°833685
infotechno​rd
Posté le 27-08-2004 à 08:46:09  profilanswer
 

je vous explique  mon petit probleme
je veut faire un batch avec commande dos
 
j'ai un repertoire :  
c:/bexp ou tous les jours des fichiers tombent dedans ( 10 , 20 ,30 ) on ne sait pas le nombre a l'avance  
les fichier s'appeleront bexp0001 bexp 002 ....  
 
on voudrait copier le 1er fichier de la liste ( peut etre en scrutant le dossier?) vers le repertoire c:/exp  
de plus nous changeront son nom le fichier s'appelant bexp001 passera en fichier qui s'appelera exp  
 
j'aimerais copier juste le  1er fichier du repertoire bexp
 
j'arrive a copier tous les fichiers du repertoire bexp mais je n'arrive pas a prendre juste le 1er fichier  
 
 
Il faut aussi scruter le repertoire exp pour savoir si il y a deja un fichier ds le repertoire exp si c le cas on ne fait rien  
si il n'y a rien il faut recuperer le 1er fichier du repertoire bexp  
 
 
puis nous recommencons la manipulation en prenant le fichier qui suit ds le repertoire bexp jusqu'a ce qu'il n'y ai plus de fichier ds le repertoire bexp  
 
merci de votre aide

mood
Publicité
Posté le 27-08-2004 à 08:46:09  profilanswer
 

n°833750
infotechno​rd
Posté le 27-08-2004 à 09:47:01  profilanswer
 

reformulation
 
os : windows 2000
 
1 repertoire bexp  
bexp001.txt
bexp002.txt
bexp003.txt
 
2 eme repertoire exp
1 seul fichier qui s'appelle exp.txt
 
j'aimerais prendre le 1er fichier du repertoire bexp le mettre dans le repertoire exp et le renommer exp.txt puis supprimer le fichier bexp.txt du repertoire bexp
 
refaire ceci jusqu'a ce que  le repertoire bexp soit vide

n°833766
DOD_edge
Posté le 27-08-2004 à 09:59:56  profilanswer
 

Euh si tu fais ca à la fin ton rep bexp est vide et ton rep exp contient un fichier exp.txt qui à pour contenu le dernier des fichiers bexp.txt...  
Pour faire ca tu peux aller plus vite tu copie le dernier, tu le renomme et tu les effaces tous mais je pense que du as du mal formuler ton pb...

n°833921
infotechno​rd
Posté le 27-08-2004 à 12:20:19  profilanswer
 

Reformulation:
 
En fait, j'ai un répertoire dans lequel se trouve une liste de fichiers créés le même jour mais pas à la même heure. Ce que j'aimerai faire, c copier le plus ancien dans un autre répertoire et ensuite le supprimer.

n°833969
DOD_edge
Posté le 27-08-2004 à 13:02:16  profilanswer
 

Je t'ai fait un batch qui saisi au clavier le rep origine et le rep destination et qui te déplace les fichiers contenus de l'un à l'autre et les efface dans le premier
Si y a autre chose que tu veux faire explique toi clairement
mon batch fonctionne sous xp je pense que sous 2000 aussi
 
@echo off
  cls
 
set path=
  set /p path=Quel est le chemin du repertoire origine (ex: c:\rep)?  
if not '%path%'=='' set path=%path:~0%
 
set path2=
  set /p path2=Quel est le chemin du repertoire destination (ex: c:\rep)?  
if not '%path2%'=='' set path2=%path2:~0%
 
cd %path%\
dir *.* /b /o:n >c:\temp.txt
 
for /f %%i in (c:\temp.txt) do (
move /y %path%\%%i %path2%\
cd %path%\
erase /f /q %%i
)
 

n°834083
infotechno​rd
Posté le 27-08-2004 à 14:04:17  profilanswer
 

ton dir met tous les fichiers existant du repertoire à l'interieur d'un autre fichier
 
 
moi j'aimerais prendre que le fichier le plus ancien du repertoire et le copier ds un autre repertoire  
puis le supprimer du  1er repertoire
 
exemple :
 
rep1 contient :
essai1.txt
essai2.txt
essai3.txt
essai4.txt
etc
 
copier juste essai1.txt ds un autre repertoire (ex rep2) et le renommer en test.txt ds rep2  
et supprimer essai1.txt du repertoire rep1
 
ensuite
prendre essai2.txt de rep1 et l'envoyer ds  rep2  
en le renommant aussi essai1.txt puis supprimer essai2.txt de rep1
etc jusqua ce que il n'y ai plus de fichier dans rep1
 
merci de ton aide
 
etc...

n°834122
DOD_edge
Posté le 27-08-2004 à 14:20:00  profilanswer
 

Tiens je t'ai rajouté la commande ren donc après déplacement je renomme le fichier en essai0 puis essai1 ... autant qu'il y a de fichiers à déplacer...
je ne comprends pas pkoi tu veux séparer les actions mais il est facile de modifier mon prog à ta sauce...
 
@echo off
  cls
 
set path=
  set /p path=Quel est le chemin du repertoire origine (ex: c:\rep)?  
if not '%path%'=='' set path=%path:~0%
 
set path2=
  set /p path2=Quel est le chemin du repertoire destination (ex: c:\rep)?  
if not '%path2%'=='' set path2=%path2:~0%
 
cd %path%\
dir *.* /b /o:n >c:\temp.txt
set j=0
for /f %%i in (c:\temp.txt) do (
set /a j=%j%+1
move /y %path%\%%i %path2%\
ren %path2%\%%i essai%j%  
set /a j=%j%+1
cd %path%\
erase /f /q %%i
)
 

n°834144
infotechno​rd
Posté le 27-08-2004 à 14:25:17  profilanswer
 

je recommence lol
 
rep1                                       rep2
essai1.txt                                 test.txt
essai2.txt
essai3.txt
 
mcopier essai.txt ds rep2 et le nommer test.txt
donc ecraser le test.txt qui existe deja
 
je ne veut pas mettre mon essai1.txt ds le fichier test.txt
 
tu vois ce que je veux dire?

n°834152
infotechno​rd
Posté le 27-08-2004 à 14:27:21  profilanswer
 

quand essai1.txt est ds rep2 et renommer test.txt
je veux ecraser le fichier essai1.txt de rep1
 
ensuite je voudrai copier essai2.txt ds rep2 et le renommer en test.txt et j'ecraserai essai2.txt de rep1
 
etc ...
jusqu'a ce qu'il n'y ai plus de fichier ds  rep1

n°834188
DOD_edge
Posté le 27-08-2004 à 14:38:10  profilanswer
 

tu ne peux pas avoir plusieurs fichiers test.txt dans rep2...
donc si je te suis ca rejoint mon premier post:
 
Posté le 27-08-2004 à 09:59:56     profil   edit   answer  MP
 
Euh si tu fais ca à la fin ton rep bexp est vide et ton rep exp contient un fichier exp.txt qui à pour contenu le dernier des fichiers bexp.txt...  
Pour faire ca tu peux aller plus vite tu copie le dernier, tu le renomme et tu les effaces tous mais je pense que du as du mal formuler ton pb...

mood
Publicité
Posté le 27-08-2004 à 14:38:10  profilanswer
 

n°834198
infotechno​rd
Posté le 27-08-2004 à 14:41:01  profilanswer
 

dit moi juste comment prendre le dernier fichier de rep1 pour le mettre ds  rep2 ?

n°834232
DOD_edge
Posté le 27-08-2004 à 15:06:14  profilanswer
 

c un peu du bricolage mais bon:
la je bouge le dernier fichier de path dans path2 et je l'efface dans path ok?
 
@echo off
  cls
 
cd path
dir *.* /b /o:n >c:\temp.txt
sort /r c:\temp.txt
 
for /f %%i in (c:\temp.txt) do (
move /y path\%%i path2\
cd path\
erase /f /q %%i
goto :end
)
 :end
exit

n°834247
infotechno​rd
Posté le 27-08-2004 à 15:16:36  profilanswer
 

merci  ca a l'air de marcher j'aurais quelques demandes supplemantaires peut etre

n°834262
DOD_edge
Posté le 27-08-2004 à 15:31:49  profilanswer
 

no problem je t'envoi la facture?  
++

n°834302
infotechno​rd
Posté le 27-08-2004 à 15:59:49  profilanswer
 

vas y envoie !!!!

n°834316
DOD_edge
Posté le 27-08-2004 à 16:08:23  profilanswer
 

sans rire la prochaine fois explique mieux ton pb je suis tjrs pas sur de ce que tu voulais faire...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Script batch copie et sauvegarde de fichier

 

Sujets relatifs
Vérifier l'existance d'un fichier xls en VBRenommer via un batch
Batch[libc] tester si un fichier existe
Script de redirection automatique et aléatoire[VC++6] Sauvegarde d'une view en fichier bmp
Problème de script sous IE[JAVA] Copie de fichier et destination inexistante
Plus de sujets relatifs à : Script batch copie et sauvegarde de fichier


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)