copier fichiers et sa source !

Le
Jérôme
Bonjour,

je souhaiterais copier tous les fichiers d'un répertoire et sous
répertoires vers un dossier "destination" AVEC le chemin complet de la
source :
exemple :

FOR /R "C:SOURCE" %F IN (*.*) DO XCOPY "%F" "E:DEST" /F /D:
11/20/2007

si dans mon dossier SOURCE j'ai :
..
toto.xls
tata.xls
SOUSREPERTOIRE
1.doc
2.doc

je souhaiterais qu'il me copie dans le repertoire DEST l'arborescence
complete de mes fichiers source à savoir
E:DESTSOURCEtoto.xls
E:DESTSOURCEtata.xls
E:DESTSOURCESOUSREPERTOIRE1.doc
E:DESTSOURCESOUSREPERTOIRE2.doc

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
F. Dunoyer [MVP]
Le #702460
Jérôme a formulé ce mercredi :
Bonjour,

je souhaiterais copier tous les fichiers d'un répertoire et sous
répertoires vers un dossier "destination" AVEC le chemin complet de la
source :
exemple :

FOR /R "C:SOURCE" %F IN (*.*) DO XCOPY "%F" "E:DEST" /F /D:
11/20/2007

si dans mon dossier SOURCE j'ai :
..
toto.xls
tata.xls
SOUSREPERTOIRE
1.doc
2.doc

je souhaiterais qu'il me copie dans le repertoire DEST l'arborescence
complete de mes fichiers source à savoir
E:DESTSOURCEtoto.xls
E:DESTSOURCEtata.xls
E:DESTSOURCESOUSREPERTOIRE1.doc
E:DESTSOURCESOUSREPERTOIRE2.doc

Merci de votre aide


cherche l'outil robocopy

--
François Dunoyer [MVP Windows Server / Security]
Boite à outils NT/2000 : http://fds.mvps.org/ta/outils.htm
Boite à Outils Admin : http://fds.mvps.org/ta/outils-Admin.htm
Site perso : http://www.fdunoyer.net

Méta-MCI \(MVP\)
Le #702459
Bonsoir !

Avec le petit batch suivant :
cd /D%1%2
xcopy %2 %3%2 /E /Y /C /I

ça peut marcher.
Attention : pour la source, j'ai séparé le disque du chemin.

Exemple d'utilisation (on suppose que le batch s'appelle
copchemin.bat ) :
copchemin.bat C: SOURCE D:DEST


@+

Michel Claveau
MCI \(ex do ré Mi chel la si do\) [MVP]
Le #702273
Re !

Le batch pourrait très bien se conjuguer avec Robocopy, qu'à suggéré
Monsieur Dunoyer-de-l'
Hérault-sous-la-pluie-qui-n'est-pas-encore-arrivée-ici.

@+

Michel Claveau
F. Dunoyer [MVP]
Le #702272
F. Dunoyer [MVP] avait énoncé :
Jérôme a formulé ce mercredi :
Bonjour,

je souhaiterais copier tous les fichiers d'un répertoire et sous
répertoires vers un dossier "destination" AVEC le chemin complet de la
source :
exemple :

FOR /R "C:SOURCE" %F IN (*.*) DO XCOPY "%F" "E:DEST" /F /D:
11/20/2007

si dans mon dossier SOURCE j'ai :
..
toto.xls
tata.xls
SOUSREPERTOIRE
1.doc
2.doc

je souhaiterais qu'il me copie dans le repertoire DEST l'arborescence
complete de mes fichiers source à savoir
E:DESTSOURCEtoto.xls
E:DESTSOURCEtata.xls
E:DESTSOURCESOUSREPERTOIRE1.doc
E:DESTSOURCESOUSREPERTOIRE2.doc

Merci de votre aide


cherche l'outil robocopy


Un exemple d'utilisation
http://fds.mvps.org/fiches/Fiche-09.htm

--
François Dunoyer [MVP Windows Server / Security]
Boite à outils NT/2000 : http://fds.mvps.org/ta/outils.htm
Boite à Outils Admin : http://fds.mvps.org/ta/outils-Admin.htm
Site perso : http://www.fdunoyer.net


Jérôme
Le #702271
merci pour vos suggestion mais en ce qui concerne la syntaxe "cd"
celle ci n'existe pas sous ms-dos ?! quant à robocopy j'ai pas tout
compris ...est t'il possible de filtrer les fichiers avec une date de
modification donnée ?

merci
F. Dunoyer [MVP]
Le #702270
Jérôme a pensé très fort :
merci pour vos suggestion mais en ce qui concerne la syntaxe "cd"
celle ci n'existe pas sous ms-dos ?! quant à robocopy j'ai pas tout
compris ...est t'il possible de filtrer les fichiers avec une date de
modification donnée ?

merci


On va éviter de parler de MS/DOS (SI JCB passe par là il va ruer dans
les brancards) :)
et la commande CD existe dans l'interpreteur de commande
faire help CD

Robocopy permet de travailler sur des fichiers plus récent ou plus
anciens qu'un certain nombre de jours ou qu'une certaine date.
Je suis un fana de cet outil :)

voir la doc en ligne plus loin.

Les lignes qui t'interessent sont les suivantes :
/MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
/MINAGE:n :: MINimum file AGE - exclude files newer than n days/date.
/MAXLAD:n :: MAXimum Last Access Date - exclude files unused since n.
/MINLAD:n :: MINimum Last Access Date - exclude files used since n.
(If n < 1900 then n = n days, else n = YYYYMMDD date).




-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version
XP010
-------------------------------------------------------------------------------

Started : Wed Nov 21 22:43:30 2007

Usage :: ROBOCOPY source destination [file [file]...]
[options]

source :: Source Directory (drive:path or
\serversharepath).
destination :: Destination Dir (drive:path or
\serversharepath).
file :: File(s) to copy (names/wildcards: default is
"*.*").

::
:: Copy options :
::
/S :: copy Subdirectories, but not empty ones.
/E :: copy subdirectories, including Empty ones.
/LEV:n :: only copy the top n LEVels of the source
directory tree.

/Z :: copy files in restartable mode.
/B :: copy files in Backup mode.
/ZB :: use restartable mode; if access denied use
Backup mode.

/COPY:copyflag[s] :: what to COPY (default is /COPY:DAT).
(copyflags : DÚta, A=Attributes,
T=Timestamps).
(S=Security=NTFS ACLs, O=Owner info, U=aUditing
info).

/SEC :: copy files with SECurity (equivalent to
/COPY:DATS).
/COPYALL :: COPY ALL file info (equivalent to /COPY:DATSOU).
/NOCOPY :: COPY NO file info (useful with /PURGE).

/PURGE :: delete dest files/dirs that no longer exist in
source.
/MIR :: MIRror a directory tree (equivalent to /E plus
/PURGE).

/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after
copying).

/A+:[RASHNT] :: add the given Attributes to copied files.
/A-:[RASHNT] :: remove the given Attributes from copied files.

/CREATE :: CREATE directory tree and zero-length files
only.
/FAT :: create destination files using 8.3 FAT file
names only.
/FFT :: assume FAT File Times (2-second granularity).
/256 :: turn off very long path (> 256 characters)
support.

/MON:n :: MONitor source; run again when more than n
changes seen.
/MOT:m :: MOnitor source; run again in m minutes Time, if
changed.

/RH:hhmm-hhmm :: Run Hours - times when new copies may be
started.
/PF :: check run hours on a Per File (not per pass)
basis.

/IPG:n :: Inter-Packet Gap (ms), to free bandwidth on slow
lines.

::
:: File Selection Options :
::
/A :: copy only files with the Archive attribute set.
/M :: copy only files with the Archive attribute and
reset it.
/IA:[RASHCNETO] :: Include only files with any of the given
Attributes set.
/XA:[RASHCNETO] :: eXclude files with any of the given Attributes
set.

/XF file [file]... :: eXclude Files matching given
names/paths/wildcards.
/XD dirs [dirs]... :: eXclude Directories matching given names/paths.

/XC :: eXclude Changed files.
/XN :: eXclude Newer files.
/XO :: eXclude Older files.
/XX :: eXclude eXtra files and directories.
/XL :: eXclude Lonely files and directories.
/IS :: Include Same files.
/IT :: Include Tweaked files.

/MAX:n :: MAXimum file size - exclude files bigger than n
bytes.
/MIN:n :: MINimum file size - exclude files smaller than n
bytes.

/MAXAGE:n :: MAXimum file AGE - exclude files older than n
days/date.
/MINAGE:n :: MINimum file AGE - exclude files newer than n
days/date.
/MAXLAD:n :: MAXimum Last Access Date - exclude files unused
since n.
/MINLAD:n :: MINimum Last Access Date - exclude files used
since n.
(If n < 1900 then n = n days, else n = YYYYMMDD
date).

/XJ :: eXclude Junction points. (normally included by
default).

::
:: Retry Options :
::
/R:n :: number of Retries on failed copies: default 1
million.
/W:n :: Wait time between retries: default is 30
seconds.

/REG :: Save /R:n and /W:n in the Registry as default
settings.

/TBD :: wait for sharenames To Be Defined (retry error
67).

::
:: Logging Options :
::
/L :: List only - don't copy, timestamp or delete any
files.
/X :: report all eXtra files, not just those selected.
/V :: produce Verbose output, showing skipped files.
/TS :: include source file Time Stamps in the output.
/FP :: include Full Pathname of files in the output.

/NS :: No Size - don't log file sizes.
/NC :: No Class - don't log file classes.
/NFL :: No File List - don't log file names.
/NDL :: No Directory List - don't log directory names.

/NP :: No Progress - don't display % copied.
/ETA :: show Estimated Time of Arrival of copied files.

/LOG:file :: output status to LOG file (overwrite existing
log).
/LOG+:file :: output status to LOG file (append to existing
log).

/TEE :: output to console window, as well as the log
file.

/NJH :: No Job Header.
/NJS :: No Job Summary.

::
:: Job Options :
::
/JOB:jobname :: take parameters from the named JOB file.
/SAVE:jobname :: SAVE parameters to the named job file
/QUIT :: QUIT after processing command line (to view
parameters).
/NOSD :: NO Source Directory is specified.
/NODD :: NO Destination Directory is specified.
/IF :: Include the following Files.

--
François Dunoyer [MVP Windows Server / Security]
Quelques liens pour Windows : http://fds.mvps.org/AdressesInternets.htm
Site perso : http://www.fdunoyer.net

Jérôme
Le #702269
Ah ca y est j'ai trouvé pour robocopy (pas mis l'exe dans le bon
repertoire)
Bon c'est cool c'est presque ce que je veux : il me copie bien mes
fichiers à une date de modif donnée (MAXAGE) par contre il me copie
aussi mes dossiers vides (qui ne le sont pas en fait car j'ai bien des
fichiers dedans) mais vides car filtrer par la date de modif !

robocopy "c:source" "d:dest" *.* /MIR /MAXAGE:20071120 /S

par exemple sous "c:source1toto.xls (date modif 17/11/2007)" il va
me prendre le dossier "1" malgre que je ne copie aucun fichier qui se
trouve dedans puisque filtrer avec la date de modif ...

une idée ?

merci
F. Dunoyer [MVP]
Le #702268
Jérôme a formulé ce mercredi :
merci pour vos suggestion mais en ce qui concerne la syntaxe "cd"
celle ci n'existe pas sous ms-dos ?! quant à robocopy j'ai pas tout
compris ...est t'il possible de filtrer les fichiers avec une date de
modification donnée ?

merci


Voici un autre petite exemple
c'est un script qui me copie sur ma clée USB le contenu de mon dossier
de script du boulot dans un dossier boulot :

@rem +----------------------------------------------------------+
@rem + Mise a jours Script +
@rem + Francois Dunoyer +
@rem + Date : 18/04/2007 +
@rem +----------------------------------------------------------+

:: Ma clé USB
Set DCible=g:

Set DSource=C:
Set Dossier=Scripts


:: Copy du dossier c:script
:: dans le dossier G:unedicScript
:: /purge : Fichiers non-existant dans la source seront supprimés
:: de la cibe
:: /NP : pas d'affiche des points progressions
:: (Juste esthétique dans les batch)
:: /r:3 : 3 essais par fichier
:: /w:3 : 3 secondes entre chaque essai
:: /s : on copie l'arborescence

"c:program filesadminrobocopy" %DSource%%Dossier%
%DCible%unedic%Dossier% *.* /s /purge /np /r:3 /w:3

--
François Dunoyer [MVP Windows Server / Security]
Des liens sur la sécurisation des systèmes Windows
http://fds.mvps.org/ta/Liens.htm
Site perso : http://www.fdunoyer.net

Jérôme
Le #702267
oui CD effectivement existe j'ai confondu avec une autre commande
Linux désolé...
quant à Robocopy je ne connaissais pas c'est génial ..;

Merci pour vos infos :)
F. Dunoyer [MVP]
Le #702266
Ah ca y est j'ai trouvé pour robocopy (pas mis l'exe dans le bon
repertoire)
Bon c'est cool c'est presque ce que je veux : il me copie bien mes
fichiers à une date de modif donnée (MAXAGE) par contre il me copie
aussi mes dossiers vides (qui ne le sont pas en fait car j'ai bien des
fichiers dedans) mais vides car filtrer par la date de modif !

robocopy "c:source" "d:dest" *.* /MIR /MAXAGE:20071120 /S

par exemple sous "c:source1toto.xls (date modif 17/11/2007)" il va
me prendre le dossier "1" malgre que je ne copie aucun fichier qui se
trouve dedans puisque filtrer avec la date de modif ...

une idée ?

merci


Attention a la commande MIR qui fait du mirroir (sauf si c'est ce que
tu veux et qui risque d'effacer aussi des 2 cotés)
Pour les dossiers vides, non je n'ai pas de solutions./ car le /S c'est
bien celui qui ne créé que les dossiers pas vides (sinon c'est /E)

--
François Dunoyer [MVP Windows Server / Security]
Quelques textes qui m'ont séduit : http://fdunoyer.free.fr/textes.htm
Site perso : http://fds.mvps.org

Publicité
Poster une réponse
Anonyme