Risposte:
xcopy.exe
è la soluzione qui. È integrato in Windows.
xcopy /s c:\Folder1 d:\Folder2
Puoi trovare ulteriori opzioni su http://www.computerhope.com/xcopyhlp.htm
xcopy
è obsoleto e genera un errore "Memoria insufficiente" quando il nome del file è più lungo di 254 caratteri. Utilizzare robocopy
invece: robocopy C:\Folder1 D:\Folder2 /COPYALL /E
en.wikipedia.org/wiki/Robocopy
Se hai robocopy,
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
altrimenti,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
potresti ottenere una brutta sorpresa. Consiglio di leggere con molta attenzione quella pagina SS64. Per un viaggio completo nella tana del coniglio "cos'è un personaggio di escape in CMD", vedi Escaping Double Quotes in Batch Script .
Vedo molte risposte che suggeriscono l'uso di xcopy. Ma questo non è necessario. Poiché la domanda menziona chiaramente che l'autore desidera che il CONTENUTO DELLA CARTELLA non sia la cartella stessa da copiare in questo caso, possiamo:
copy "C:\Folder1" *.* "D:\Folder2"
Questo è tutto ciò che xcopy
può essere utilizzato se esiste una sottodirectory inC:\Folder1
md D:\Folder2
copy
comando (prompt dei comandi di Windows 10) mi dice che la sintassi non è corretta. Di seguito sarebbe la sintassi corretta:copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy non ha funzionato per me e ci sono alcune buone soluzioni qui, ma nessuna ha spiegato gli switch XCopy e cosa fanno. Inoltre hai bisogno di virgolette nel caso in cui il tuo percorso contenga spazi.
xcopy / i / e "C: \ temp \ cartella 1" "C: \ temp \ cartella 2"
Ecco la documentazione di Microsoft:
/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)
@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
Sul mio PC, xcopy e robocopy necessitano anche del percorso, ovvero C: \ Windows \ System32 \ xcopy.exe
Ecco perché uso semplicemente "copia": copia / y .... \ Cartella1 \ File.txt .... \ Cartella2 \
Cordiali saluti ... se si utilizza TortoiseSVN e si desidera creare un semplice file batch per eseguire xcopy (o mirroring di directory) interi repository in una posizione "sicura" su base periodica, questo è il codice specifico che si potrebbe desiderare di utilizzare. Copia su directory / file nascosti, mantiene gli attributi di sola lettura e tutte le sottodirectory e, soprattutto, non richiede input. Assicurati di assegnare correttamente cartella1 (repository sicuro) e cartella2 (repository utilizzabile).
@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%
E questo è tutto gente!
Aggiungi alle attività pianificate e non guardare mai indietro.
@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
/S
copia le directory e le sottodirectory tranne quelle vuote, mentre le /E
directory e le sottodirectory copiate, comprese quelle vuote. /Q
non visualizza i nomi dei file durante la copia, mentre /F
visualizza i nomi completi dei file di origine e destinazione durante la copia.
Ho scritto un file .bat per copiare e incollare il file in una cartella temporanea e renderlo zip e trasferirlo in un punto di montaggio smb, spero che questo possa aiutare,
@echo off
if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
NET USE \\IP\IPC$ /u:IP\username password
ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
NET USE \\172.20.10.103\IPC$ /D
RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"