2011-01-05 14 views

Répondre

110

xcopy.exe est la solution ici. C'est construit dans Windows.

xcopy /s c:\Folder1 d:\Folder2 

Vous pouvez trouver plus d'options à http://www.computerhope.com/xcopyhlp.htm

+2

Bonjour Hussain, J'ai essayé la commande c: \ Folder1 d: \ Folder2 de xcopy/s dans un fichier batch, mais ça ne marche pas pour moi. pouvez-vous s'il vous plaît me guider plus. – SCM

+0

Salut, Peut-être que vous n'avez pas ce xcopy sur votre machine .. Cependant, vous pouvez télécharger le fichier batch à partir d'ici http://www.brothersoft.com/xcopy-177904.html – eHussain

+1

+1 pour "/ s" c'est ce qui me manquait. –

26

Si vous avez robocopy,

robocopy C:\Folder1 D:\Folder2 /COPYALL /E 

autrement,

xcopy /e /v C:\Folder1 D:\Folder2 
+1

Si cela copie le contenu de Folder1, que faites-vous si vous voulez copier le dossier lui-même? –

+2

@KyleDelaney inclure le nom du dossier source dans la destination, par ex. "xcopy/e/v C: \ Folder1 D: \ Folder2 \ Folder1 \" – mghicks

2
@echo off 
::Ask 
echo Your Source Path: 
set INPUT1= 
set /P INPUT1=Type input: %=% 

echo Your Destination Path: 
set INPUT2= 
set /P INPUT2=Type input: %=% 

xcopy %INPUT1% %INPUT2% /y /s 
-2
@echo off 
:: variables 
echo Backing up file 
set /P source=Enter source folder: 
set /P destination=Enter Destination folder: 
set xcopy=xcopy /S/E/V/Q/F/H/I/N 
%xcopy% %source% %destination% 
echo files will be copy press enter to proceed 
pause 
+2

Une explication de votre code bénéficiera non seulement le demandeur de cette question, mais les futurs utilisateurs qui trébuchent à travers cette recherche d'une solution au même problème. –

+3

Vous avez plusieurs drapeaux qui contredisent directement les autres drapeaux. '/ S' copie les répertoires et sous-répertoires à l'exception des répertoires vides, tandis que'/E' copie les répertoires et les sous-répertoires, y compris ceux qui sont vides. '/ Q' n'affiche pas les noms des fichiers pendant la copie, tandis que'/F' affiche les noms des fichiers sources et de destination lors de la copie. – SomethingDark

-1

FYI ... si vous utilisez TortoiseSVN et que vous voulez créer un fichier de commandes simple vers des répertoires entiers xcopy (ou le répertoire miroir) dans un emplacement "sûr" sur une base périodique, alors c'est le code spécifique que vous souhaitez utilisation. Il copie sur les répertoires/fichiers cachés, maintient les attributs en lecture seule, et tous les sous-répertoires et, mieux encore, ne demande pas de saisie. Assurez-vous simplement que vous avez assigné correctement folder1 (safe repo) et folder2 (repo utilisable).

@echo off 
echo "Setting variables..." 
set folder1="Z:\Path\To\Backup\Repo\Directory" 
set folder2="\\Path\To\Usable\Repo\Directory" 
echo "Removing sandbox version..." 
IF EXIST %folder1% (
    rmdir %folder1% /s /q 
) 
echo "Copying official repository into backup location..." 
xcopy /e /i /v /h /k %folder2% %folder1% 

Et, c'est ça les gens! Ajoutez à vos tâches planifiées et ne jamais regarder en arrière.

9

si vous voulez supprimer le message qui indique si la destination est un fichier ou un dossier que vous venez d'ajouter une barre oblique:

xcopy /s c:\Folder1 d:\Folder2\

2

Sur mon PC, xcopy et robocopy ont besoin aussi le chemin pour eux, à savoir C: \ Windows \ System32 \ XCOPY.EXE

C'est pourquoi j'utilise simplement "copier": copier/y .... \ Dossier1 \ Fichier.txt .... \ Dossier2 \

6

Je vois beaucoup de réponses suggérant l'utilisation de xcopy. Mais ce n'est pas nécessaire. La question mentionne clairement que l'auteur veut LE CONTENU DANS LE RÉPERTOIRE pas le dossier lui-même à copier dans ce cas, nous pouvons -:

copy "C:\Folder1" *.* "D:\Folder2" 

C'est toutxcopy peut être utilisé pour le cas échéant sous-répertoire existe dans C:\Folder1

+0

Cela ne fonctionne pas si le dossier que vous copiez n'existe pas encore (je crois), donc vous pourriez vouloir ajouter 'md D: \ Folder2' –

0
@echo off 
xcopy /s C:\yourfile C:\anotherfile\ 

Voici comment c'est fait! Simple, non?

Questions connexes