web-dev-qa-db-fra.com

Fichier de commandes pour copier des fichiers d'un dossier à un autre

J'ai un dossier de stockage sur un réseau dans lequel tous les utilisateurs vont stocker leurs données actives sur un serveur. Maintenant, ce serveur va être remplacé par un nouveau en raison d’un problème d’emplacement. Je dois donc copier les fichiers de sous-dossiers de l’ancien dossier de stockage du serveur vers le nouveau dossier de stockage du serveur. J'ai ci-dessous ex:

de\Oldeserver\storage\data & files à\New server\storage\data & files. 

202
user73628

xcopy.exe est définitivement votre ami ici . Il est intégré à Windows, donc son coût est nul.

Juste xcopy /s c:\source d:\target

Vous voudrez probablement modifier quelques points; Parmi les options que nous avons également ajoutées, citons:

  • /s/e - copie récursive, y compris la copie de répertoires vides.
  • /v - ajoutez ceci pour vérifier la copie par rapport à l'original. plus lent, mais pour les paranoïaques.
  • /h - système de copie et fichiers cachés.
  • /k - copie les attributs en lecture seule avec les fichiers. sinon, tous les fichiers deviennent en lecture-écriture.
  • /x - si vous vous souciez des autorisations, vous voudrez peut-être /o ou /x.
  • /y - ne pas demander avant de remplacer les fichiers existants.
  • /z - si vous pensez que la copie peut échouer et que vous voulez la redémarrer, utilisez ceci. Il place un marqueur sur chaque fichier lors de la copie. Vous pouvez donc réexécuter la commande xcopy pour reprendre à partir de l'endroit où il s'est arrêté.

Si vous pensez que xcopy risque d'échouer à mi-parcours (comme lorsque vous copiez via une connexion réseau fragmentée) ou que vous devez l'arrêter et que vous souhaitez continuer plus tard, vous pouvez utiliser xcopy /s/z c:\source d:\target.

J'espère que cela t'aides.

381
lavinio

Pour que tout soit clair, lorsque vous utilisez xcopy /s c:\source d:\target, mettez "" autour du c:\source et du d:\target, sinon vous obtenez une erreur.

c'est à dire s'il y a des espaces dans le chemin c'est à dire si vous avez:

"C:\Some Folder\*.txt"

mais pas obligatoire si vous avez:

C:\SomeFolder\*.txt
48
Ike

Mon préféré pour sauvegarder les données est:

ROBOCOPY "C:\folder" "C:\new_folder" /mir

/ mir est pour miroir. Vous pouvez également utiliser/mov pour déplacer des fichiers. Il reproduit exactement le même dossier. Il peut supprimer/écraser des fichiers si nécessaire. Ça marche bien pour moi. C'est plus rapide que xcopy/copy. Il est également construit sous Windows.

Source: http://technet.Microsoft.com/en-us/library/cc733145.aspx

41
Etienne Dupuis

Vous voudrez peut-être jeter un coup d'œil à XCopy ou RoboCopy , qui constituent des solutions assez complètes pour la quasi-totalité des opérations de copie de fichiers sous Windows.

17
Joey

Pour ignorer 'spécifiez un nom de fichier ou un nom de répertoire sur la cible (F = fichier, D = répertoire)?' Invite avec xcopy, vous pouvez effectuer les opérations suivantes ...

echo f | xcopy /f /y srcfile destfile 

ou pour ceux d'entre nous qui copient simplement de grandes sous-structures/dossiers:

utiliser/i qui spécifie la destination doit être un répertoire si vous copiez plus d'un fichier

13
wintondeshong

si vous voulez copier un fichier n'utilisant pas le chemin absolu, le chemin relatif en d'autres termes:

n'oubliez pas d'écrire antislash dans le chemin ET PAS de slash (^^)

exemple : 

    copy children-folder\file.something .\other-children-folder

PS: le chemin absolu peut être récupéré, utilisez ces caractères génériques appelés "paramètres de lot"

    @echo off
    echo %%~dp0 is "%~dp0"
    echo %%0 is "%0"
    echo %%~dpnx0 is "%~dpnx0"
    echo %%~f1 is "%~f1"
    echo %%~dp0%%~1 is "%~dp0%~1"

consultez la documentation ici à propos de la copie: https://technet.Microsoft.com/en-us/library/bb490886.aspx } _

et également ici pour la documentation des paramètres de lot: https://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true

2
marcdahan
@echo off

rem The * at the end of the destination file is to avoid File/Directory Internal Question.

rem You can do this for each especific file. (Make sure you already have permissions to the path)
xcopy /Y "\\Oldeserver\storage\data\MyFile01.txt" "\\New server\storage\data\MyFile01.txt"*
pause

rem You can use "copy" instead of "xcopy "for this example.
0
David Castro

Regardez l'outil Windows rsync/ NASBackup . Ce sera un bonus si vous connaissez les commandes rsync.

0
nik