Robocopy et répertoires vides

Robocopy et répertoires vides - Stockage/Sauvegarde - Windows & Software

Marsh Posté le 06-06-2013 à 12:06:41    

Bonjour,
 
J'ai créer un batch permettant d'archiver (déplacer) une partie des données du serveur à partir d'une date définie.
Celui-ci exécute très bien sa fonction mis à part qu'il supprime les répertoires vides de la partie devant rester des répertoires sources.
Ci dessous la ligne de commande avec les variables "sources", "destination" et "datearchive" défini en amont.
 
C:\Windows\SysWOW64\Robocopy.exe "%Source%" "%Destination%" /s /move /minage:"%DateArchive%"
 
Quel paramètre dis-je ajouter pour laisser en place les répertoires vides dans la source ?
 
Nota: j'ai essayé en remplaçant le paramètre /s par /e, mais le résultat est le même.
 
Merci d'avance de vos réponses.
 
Lajt

Reply

Marsh Posté le 06-06-2013 à 12:06:41   

Reply

Marsh Posté le 06-06-2013 à 23:00:38    

Version de ton robocopy ?
Ya trois version principales en circulation en fonction de l'OS...


---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Marsh Posté le 09-06-2013 à 12:09:33    

Bonjour LimDul,
 
Désolé pour la réponse tardive, mais je pensais recevoir une alerte sur ma messageris si une réponse était données sur le site.
 
La version est 5.1.10.1027, éxécutée sur un 2008 R2 (via le répertoire SysWOW64).
 Nota: le disque traité est sur la même machine.
 
Merci encore.
Lajt.

Reply

Marsh Posté le 09-06-2013 à 14:14:53    

Donc c'est la version XP027.
 
Si j'ai bien compris, tu veut déplacer les fichiers mais laisser les répertoires vides sur la source ?
Je regarde...


---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Marsh Posté le 09-06-2013 à 15:16:25    

Code :
  1. C:\>robocopy/?
  2. -------------------------------------------------------------------------------
  3.    ROBOCOPY   ::   Copie de fichiers robuste pour Windows
  4. -------------------------------------------------------------------------------
  5.   Début : Sun Jun 09 15:12:14 2013
  6.               Syntaxe :: ROBOCOPY source destination [fichier [fichier]...] [opt
  7. ions]
  8.              source :: répertoire source (lecteur:\chemin ou \\serveur\partage\c
  9. hemin).
  10.         destination :: rép. de destination (lecteur:\chemin ou \\serveur\partage
  11. \chemin).
  12.                fichier :: fichier(s) à copier (noms/caractères génériques : vale
  13. ur par défaut "*.*" ).
  14. ::
  15. :: Options de copie :
  16. ::
  17.                  /S :: copie les sous-répertoires non vides uniquement.
  18.                  /E :: copie les sous-répertoires, y compris les vides.
  19.              /LEV:n :: copie uniquement les n premiers niveaux de l'arborescence
  20. source.
  21.                  /Z :: copie les fichiers en mode de redémarrage.
  22.                  /B :: copie les fichiers en mode de sauvegarde.
  23.                 /ZB :: utilise le mode de redémarrage ; si l'accès est refusé, u
  24. tilise le mode de sauvegarde.
  25.             /EFSRAW :: copie tous les fichiers chiffrés en mode EFS RAW.
  26.   /COPY:indicateurscopie :: spécifie les éléments à copier pour les fichiers (/C
  27. OPY:DAT par défaut).
  28.                        (indicateurscopie : D=Données, A=Attributs, T=horodaTages
  29. ).
  30.                        (S=Sécurité=ACL NTFS, O=infos prOpriétaire, U=infos d'aUd
  31. it).
  32.            /DCOPY:T :: copie les horodatages de répertoire.
  33.                /SEC :: copie des fichiers avec sécurité (équivaut à /COPY:DATS).
  34.            /COPYALL :: copie toutes les infos de fichiers (équivaut à /COPY:DATS
  35. OU).
  36.             /NOCOPY :: ne copie aucune info de fichier (utile avec /PURGE).
  37.             /SECFIX :: corrige la sécurité de tous les fichiers, même les fichie
  38. rs ignorés.
  39.             /TIMFIX :: corrige les horodatages de tous les fichiers, même les fi
  40. chiers ignorés.
  41.              /PURGE :: supprime les fichiers/répertoires de destination qui n'ex
  42. istent plus dans la source.
  43.                /MIR :: met en MIRoir une arborescence (équivaut à /E plus /PURGE
  44. ).
  45.                /MOV :: déplace les fichiers (les supprime de la source après la
  46. copie).
  47.               /MOVE :: déplace les fichiers ET les répertoires (les supprime de
  48. la source après la copie).

Regarde les deux derniers...


---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Marsh Posté le 09-06-2013 à 16:51:15    

Salut LimDul,
 
Je viens de faire un tour,
 
Exact, c'est mon intention de le faire (virer les vides) sur les répertoires déplacés (donc ceux antérieur à la date précisée), mais pas sure les sources.
 
Si ce n'est pas possible, je reverrai mon script avec XCOPY, c'est plus long surtout sur le volume comlpet du disque, mais tant pis, on fait pas ça tous les jours non plus.
 
Merci de ton aide.
 
Lajt

Reply

Marsh Posté le 09-06-2013 à 16:55:25    

Mais au fait, s'il existe 2 autres versions, n'y en t'il pas une qui permettrait de ne pas toucher au vides sur les restant ?.
 
Lajt

Reply

Marsh Posté le 09-06-2013 à 16:58:56    

Autre idée, est-ce que l'ordre des paramètres ont leur importance: si je met le /minage avant le /move, cela permet'il de d'abord sélectionner les bons répertoire avant de passer à la commande move (qui supprime les répertoires vides) ?
 
Lajt.

Reply

Marsh Posté le 09-06-2013 à 17:22:59    

Tu veut garder les répertoires sur la source ?
Alors utilise /mov sans le "e" à la place de /move.
 
Je ne comprend pas quand tu parle de "restant". Peut-tu reformuler en utilisant par exemple source et destination ?
Ton but peut te sembler très clair et précis mais encore faut-il se faire comprendre avec autant de précision.
 
L'ordre des paramètre n'est pas important.


---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Marsh Posté le 09-06-2013 à 17:53:24    

C'est vrai c'est peut-être pas trés clair.
 
Au départ j'ai une arborescence sur un répertoire maître avec des répertoire vides à plusieurs niveau (nécessaire pour notre organisation professionnel).
Cette structure existe depuis 2001 et il m'est nécessaire de la purger de tous ces fichiers et répertoires à une date antérieur à 2005 vers un répertoire "Archives", mais je dois garder en place la structure existante pour tous les fichiers et répertoires postérieur à 2005 (répertoires vides y compris).
 
Voilà
 
Lajt

Reply

Marsh Posté le 09-06-2013 à 17:53:24   

Reply

Marsh Posté le 09-06-2013 à 19:27:50    

Un /mov sans "e" déplacera les fichiers sans supprimer les répertoires.
Je ne sais pas si les répertoires vides seront créé.
Dans le doute ajoute un /E.
 
Dans un dossier de test fait l'essai suivant :

Code :
  1. Robocopy.exe "%Source%" "%Destination%" /e /mov /minage:"%DateArchive%"

Inutile d'indiquer le chemin de robocopy, le shell vas le chercher automatiquement car répertoire système.
Ca devrai être bon.
 
Dans le cas où les répertoires vides ne seraient pas copiés tente un

Code :
  1. robocopy "%Source%" "%Destination%" /mir /create

puis supprime tout les fichiers qui seront vides ou encore un

Code :
  1. robocopy "%Source%" "%Destination%" /mir /xc /xn /xn


 
Un

Code :
  1. robocopy "%Source%" "%Destination%" /mir /create

puis supprime tout les fichiers qui seront vides ou encore un

Code :
  1. robocopy "%Source%" "%Destination%" /mir /create /xc /xn /xn

serai mieux encore


Message édité par LimDul le 09-06-2013 à 19:30:16

---------------
Liberkey, colection d'utilitaires sur clef USB / Silverstone DS380 - Mini tour ITX 8 baies Hot-swap 3.5"
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed