Respuestas:
xcopy.exe
Es la solución aquí. Está integrado en Windows.
xcopy /s c:\Folder1 d:\Folder2
Puede encontrar más opciones en http://www.computerhope.com/xcopyhlp.htm
xcopy
está en desuso y genera un error de "Memoria insuficiente" cuando el nombre del archivo tiene más de 254 caracteres. Utilice en su robocopy
lugar: robocopy C:\Folder1 D:\Folder2 /COPYALL /E
en.wikipedia.org/wiki/Robocopy
Si tienes robocopy,
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
de otra manera,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
puede obtener una desagradable sorpresa. Recomiendo leer esa página SS64 con mucho cuidado. Para un viaje completo por la madriguera del conejo "¿Qué es un personaje de escape en CMD?", Ver Escaping Double Quotes en Batch Script .
Veo muchas respuestas que sugieren el uso de xcopy. Pero esto es innecesario. Como la pregunta menciona claramente que el autor quiere que EL CONTENIDO EN LA CARPETA no se copie la carpeta en este caso, podemos:
copy "C:\Folder1" *.* "D:\Folder2"
Todo xcopy
eso se puede usar si existe algún subdirectorio enC:\Folder1
md D:\Folder2
copy
comando (símbolo del sistema de Windows 10) me dice que la sintaxis es incorrecta. La siguiente sería la sintaxis correcta:copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy no funcionó para mí, y hay algunas buenas soluciones aquí, pero ninguna explicó los interruptores XCopy y lo que hacen. También necesita comillas en caso de que su ruta tenga espacios.
xcopy / i / e "C: \ temp \ carpeta 1" "C: \ temp \ carpeta 2"
Aquí está la documentación de 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
En mi PC, xcopy y robocopy también necesitan la ruta a ellos, es decir, C: \ Windows \ System32 \ xcopy.exe
Es por eso que simplemente uso "copiar": copiar / y .... \ Carpeta1 \ Archivo.txt .... \ Carpeta2 \
FYI ... si usa TortoiseSVN y desea crear un archivo por lotes simple para copiar x (o espejo de directorio) repositorios completos en una ubicación "segura" de forma periódica, entonces este es el código específico que puede usar. Copia sobre los directorios / archivos ocultos, mantiene atributos de solo lectura, y todos los subdirectorios y lo mejor de todo, no solicita entradas. Solo asegúrese de asignar la carpeta1 (repositorio seguro) y la carpeta2 (repositorio utilizable) correctamente.
@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%
Y, eso es todo amigos!
Agregue a sus tareas programadas y nunca mire hacia atrás.
@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 directorios y subdirectorios excepto los vacíos, mientras que /E
copia directorios y subdirectorios incluidos los vacíos. /Q
no muestra los nombres de los archivos durante la copia, mientras que /F
muestra los nombres completos de los archivos de origen y destino durante la copia.
He escrito un archivo .bat para copiar y pegar el archivo en una carpeta temporal y hacer que se comprima y transfiera a un punto de montaje smb, espero que esto ayude,
@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%"