Scinder le xcopy

jejeg Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai créé un fichier batch qui fonctionne très bien à une exception : la copie du répertoire C:\Users\Toto\Pictures.
La copie ne va pas jusqu'au bout car j'ai un message "Mémoire insuffisante" qui apparaît.
Etant donné que j'ai beaucoup de dossiers et de fichiers, je souhaiterais scinder la copie pour avoir 5 ou 10 lignes plutôt qu'une seule.

Actuellement :
xcopy C:\Users\Toto\Pictures\*.* I:\Sauvegarde\Photos\*.* /S /H /Y

Souhait :
xcopy C:\Users\Toto\Pictures\*.* I:\Sauvegarde\Photos\*.* /H /Y (sans le /S pour ne pas prendre les sous-répertoires mais uniquement les fichiers présents à la racine : ligne OK)
xcopy C:\Users\Toto\Pictures\[Tous les répertoires commençant par 2010]\*.* I:\Sauvegarde\Photos\*.* /S /H /Y
xcopy C:\Users\Toto\Pictures\[Tous les répertoires commençant par 2011]\*.* I:\Sauvegarde\Photos\*.* /S /H /Y
etc.

Comment je dois écrire la partie entre crochets ?
J'ai essayé :
xcopy C:\Users\Toto\Pictures\%2010\*.* I:\Sauvegarde\Photos\*.* /S /H /Y
xcopy C:\Users\Toto\Pictures\%2010%\*.* I:\Sauvegarde\Photos\*.* /S /H /Y

Merci d'avance

7 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
essayer
xcopy C:\Users\Toto\Pictures\2010*.* I:\Sauvegarde\Photos\*.* /S /H /Y
xcopy C:\Users\Toto\Pictures\2011*.* I:\Sauvegarde\Photos\*.* /S /H /Y
0
jejeg Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   36
 
Merci beaucoup. Ces lignes fonctionnent effectivement mais uniquement sur les fichiers ... tout commen la commande suivante :
xcopy C:\Users\Toto\Pictures\*2010*.* I:\Sauvegarde\Photos\*.* /S /H /Y

Problème important donc : cela sauvagrde uniquement les fichiers contenant "2010" ou "2011" uniquement. Or, un répertoire 2010-03 ne sera pas sauvegarder si des fichiers à l'intérieur sont nommés "Photos1", "Photos2", etc.

Peux-t-on faire une ligne de commande pour restreindre la copie des répertoires et non des fichiers ?

Merci encore
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
avec l'option /s 2010* doit sauver 2010-03 et tout ce qu'il y a dessous
0
jejeg Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   36
 
Malheureusement non, les lignes suivantes ne sauvegardent rien contenant 2010 :

- xcopy C:\Users\Toto\Pictures\*.* I:\Sauvegarde\Photos\*.* /S 2010* /H /Y
ou
- xcopy C:\Users\Toto\Pictures\2010*.* I:\Sauvegarde\Photos\*.* /S 2010* /H /Y

Y a-t-il qq chose que j'écris mal ?
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
xcopy Source [Destination ...
essayer comme ça, avec des " si il y a des espaces
xcopy "C:\Users\Toto\Pictures\2010*.*" "I:\Sauvegarde\Photos\" /S/H /Y
0
jejeg Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   36
 
Avec cette ligne de commande :
xcopy "C:\Users\Toto\Pictures\2010*.*" "I:\Sauvegarde\Photos\*.*" /S /H /Y
Même constat que précédemment, seuls les fichiers ayant 2010 dans leur nom sont sauvés.

Avec celle-ci :
xcopy "C:\Users\Toto\Pictures\2010*.*" "I:\Sauvegarde\Photos\*.*" /S 2010* /H /Y
Rien n'est sauvé

Et enfin avec celle-ci :
xcopy "C:\Users\Toto\Pictures\*.*" "I:\Sauvegarde\Photos\*.*" /S 2010 */H /Y
Idem, rien n'est sauvegardé

Désolé mais les guillements n'ont rien changé (je prévois exprès des noms de dossiers sans espaces).
Merci encore de votre aide.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
effectivement xcopy 2010* ne fonctionne pas
essayer :
for /d %%a in (2010*) do xcopy C:\Users\Toto\Pictures\%%a I:\Sauvegarde\Photos\%%a /S/H /Y/I
0