J'essaie de copier certains répertoires d'un serveur avant de restaurer une sauvegarde (ma dernière sauvegarde était corrompue, je dois donc utiliser un ancien :(). Je suis dans l'environnement de récupération Windows et j'ai accès au fichier du serveur. système G:\
et mon support de sauvegarde C:\
, mais comme je suis plus familier avec Linux, j’ai un peu de mal à utiliser la ligne de commande dans Windows, en particulier robocopy
.
Je souhaite copier plusieurs répertoires (en conservant la même structure de répertoires) de G: \ à C: \ tout en en excluant d’autres (à savoir les dossiers Windows et Program Files). Je n'arrive pas à comprendre la syntaxe de l' /XD
option. J'espérais faire quelque chose comme:
robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...
REMARQUE: je tiens à préciser que je souhaite copier les fichiers réels tout en conservant la structure de répertoires. Je viens de vérifier et /create
ne crée que des fichiers vides. Bizarre.
la source
/?
commutateur pour obtenir des informations d'aide pour les commandes de la console Windows. Il y a aussi lahelp
commande, qui ressemble auman
programme Linux , mais je ne l'ai pas vue utilisée par des programmes tiers (cela pourrait être - je ne connais pas son fonctionnement, ni même si c'est possible).help
commande, mais elle ne semble pas être active dans l'environnement de récupération Windows (j'ai reçu une erreur du type "Aucune commande 'aide' trouvée"). Robocopy est une commande Windows par défaut qui a remplacé xcopy et n'est pas une tierce partie./MIR
(le miroir A à B) détruit tous les fichiers de B qui ne sont pas présents dans A. Ceci est utile lorsque le répertoire dans lequel vous copiez existe déjà et que vous voulez que la nouvelle version (de B) soit une copie exacte de A (tel qu'il existe actuellement).Je sais que cela ne répond pas à la question de OP, mais à quiconque ici, de Google: XD échouera dans un fichier de travail si vous utilisez des guillemets.
Mauvais:
Bien:
Placez autant d'exclusions que vous le souhaitez, ligne après ligne, sans utiliser de guillemets (qu'il y ait ou non des espaces).
J'ai découvert cela en utilisant le commutateur de ligne de commande / SAVE: myjobname qui a enlevé les citations de mes répertoires cités!
la source
vous devez répéter la
/XD
partiela source
Ma solution pour cela était de créer des fichiers .txt contenant les fichiers ou les répertoires que je veux inclure ou exclure. J'ai ces fichiers dans un sous-dossier "rcXcludes" sous mon dossier "Backup". Ma méthode pour nommer les fichiers est la suivante. Je les préface avec "rc" (pour robocopy), puis une notation reconnaissable pour l'application ou une partie du système de fichiers dans la commande robocopy, puis j'ajoute "B" ou "R" (pour la sauvegarde ou la restauration), puis "I" ou "X" (pour inclure ou exclure), puis "D" ou "F" (pour répertoire ou fichier). J'entoure chaque entrée de guillemets et d'un espace entre les entrées. Un fichier "Include" peut contenir des fichiers ou des répertoires, mais les répertoires doivent comporter une barre oblique inversée. Dans un fichier "Exclure" pour les répertoires, vous n'utilisez pas de barre oblique inverse. Toutes les entrées de répertoire sont relatives au chemin source dans la commande robocopy. L’intégralité du contenu de ces fichiers .txt doit figurer sur une seule ligne etne pas avoir un retour à la ligne carraige. Dans mon fichier de commandes, j'utilise une commande SET / P pour importer le fichier .txt dans une variable. J'utilise ensuite ces variables pour FILES ou après / XF ou / XD. Par exemple, pour utiliser le profil Chrome de l'utilisateur actuel sans copier l'intégralité du dossier "Par défaut", j'utilise ce qui suit.
Dans le fichier chauve-souris, disons C: \ Backup.
la source