Quelle est la commande d'invite de commande Windows pour copier des fichiers?
J'ai besoin de déplacer un fichier de l'emplacement A à l'emplacement B. De plus, si le dossier de l'emplacement B n'existe pas, je souhaite le créer.
J'ai besoin que cela soit une ligne de commande pour pouvoir l'automatiser.
La version de Windows est XP.
windows
command-line-interface
copy
David Basarab
la source
la source
robocopy
fonctionne très bien aussiRéponses:
La commande
xcopy
est ce que vous recherchez. Exemple:La commande ci-dessus copie la source dans la destination, les fichiers et les répertoires (y compris ceux vides), ne s’arrête pas en cas d’erreur, copie les fichiers cachés et système, écrase les fichiers en lecture seule, préserve les attributs et les informations de propriété / ACL et supprime demandant de remplacer les fichiers de destination existants.
Pour plus d'informations, tapez
xcopy /?
votre ligne de commande.la source
/E /H
et/K /O
que vous avez peut-être du chemin à faire avec quelques astuces utiles/J
ce qui empêche un bug avec XCopy lors de la copie de gros fichiers. Je ne sais pas pourquoi ils ne voudraient pas que ce soit le cas par défaut ...Utilisez md pour créer le dossier (c'est ok s'il existe déjà)
Utiliser copier ou déplacer pour les fichiers et xcopy pour les dossiers
la source
Dans un fichier batch:
if not exists
vérifie le paramètre pour voir s'il existe, mais cela ne fonctionne que sur les fichiers. Pour vérifier l'existence d'un répertoire , vous devez rechercher un 'pseudo-fichier' appelé "nul" - la vérification de l'existence de ce fichier renverra toujours la valeur true si le répertoire existe.Les copies de la ligne de copie le fichier appelé
file
dans le répertoirelocationA
pourlocationB
et les noms du fichier de la même chose. Si vous souhaitez renommer le fichier en même temps, vous pouvez également le faire:la source
Si vous souhaitez pouvoir synchroniser la copie et d'autres fonctionnalités avancées (ignorer certains dossiers, n'inclure que certains caractères génériques), examinez-le
robocopy
. Inclus dans Vista et au-delà, facultatif (à partir des outils du kit de ressources) dans les versions antérieures.la source
Utilisez ROBOCOPY si vous créez des scripts de sauvegarde. xcopy est obsolète et ne sera probablement plus utilisé dans un proche avenir. Robocopy peut faire tout ce que xcopy peut faire. Il est également plus flexible et fiable. Créer des scripts avec robocopy les protégera de l'avenir.
Utilisez robocopy pour copier facilement des dossiers. La commande robocopy remplace la commande xcopy. Il peut rapidement copier des dossiers entiers sans avoir à se soucier de la définition du contenu. Par exemple, pour copier tout le contenu du répertoire C: \ tools dans le nouveau dossier D: \ backup \ tools, entrez la commande suivante:
Le modificateur / e indique à robocopy d'inclure tous les sous-répertoires. Cela inclut les dossiers vides. robocopy copiera automatiquement les fichiers cachés et système. Il créera de nouveaux répertoires s’ils n’existent pas à l’emplacement cible.
Mettre en miroir un répertoire. La mise en miroir d'un répertoire est idéale pour effectuer des sauvegardes. L'option miroir de robocopy copiera tout le contenu de la source vers la destination. Il supprimera alors tout ce qui existe à la destination et n’existe pas à la source. Cela garantit que votre sauvegarde ne contient que les dernières versions de vos fichiers. Par exemple, pour mettre en miroir C: \ Utilisateurs \ Mes documents sur D: \ backup \ Mes documents, entrez les informations suivantes: [4]
Cette fonction préservera toutes les autorisations des fichiers originaux.
Activer le redémarrage. Vous souhaiterez peut-être inclure la possibilité de redémarrer le processus au cas où la connexion serait interrompue en cours de copie.
Enregistrez le processus de copie. Robocopy vous permet de créer un fichier journal. Cela peut vous aider à identifier des problèmes ou à créer une archive de ce qui a été copié.
Le modificateur / log + ajoutera le fichier journal existant au lieu de l'écraser. Si vous préférez simplement écraser l'ancien fichier journal, utilisez /log:.txt.
la source
xcopy créera la structure de répertoires pour vous. L'astuce consiste à utiliser l'option / I et à insérer un astérisque à la fin du nom de fichier afin que xcopy pense que vous copiez plusieurs fichiers. Sinon, il vous demande si le nom de la cible est le nom de fichier souhaité ou le nom du répertoire souhaité. . Par exemple.
Je regarderais aussi RoboCopy, mais vous devez l'obtenir à partir du kit de ressources car ce n'est pas sous Windows avant Vista.
la source
La commande ci-dessus crée un niveau de répertoire supplémentaire avec le nom du fichier source. Donc ... xcopy / I srcdir \ dir1 \ dir2 \ fichier1.txt * destdir \ dir1 \ dir2 \ fichier1.txt a pour résultat destdir \ dir1 \ dir2 \ fichier1.txt \ fichier1.txt
la source