Відповіді:
xcopy.exe
тут є рішення. Він вбудований у Windows.
xcopy /s c:\Folder1 d:\Folder2
Більше варіантів ви можете знайти на веб- сайті http://www.computerhope.com/xcopyhlp.htm
xcopy
застаріла і видає помилку "Недостатня пам'ять", коли ім'я файлу перевищує 254 символи. Використовуйте robocopy
замість цього: robocopy C:\Folder1 D:\Folder2 /COPYALL /E
en.wikipedia.org/wiki/Robocopy
Якщо у вас є роботокопія,
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
інакше,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
ви можете отримати неприємний сюрприз. Я рекомендую дуже уважно прочитати цю сторінку SS64. Для повної подорожі по кроликовій норі «що є втеча символом у CMD» див. Уникнення подвійних цитат у пакетному сценарії .
Я бачу багато відповідей, що дозволяють запропонувати використання xcopy. Але це зайве. Оскільки в питанні чітко зазначається, що автор хоче, щоб ЗМІСТ У ФАКУЛІ не в цій справі була скопійована сама папка, ми можемо:
copy "C:\Folder1" *.* "D:\Folder2"
Ось все xcopy
це можна використовувати, якщо в ньому існує будь-який підкаталогC:\Folder1
md D:\Folder2
copy
команда (командний рядок Windows 10) говорить про те, що синтаксис невірний. Наступним буде правильний синтаксис:copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy не працював для мене, і тут є кілька хороших рішень, але жодне не пояснило перемикачі XCopy і що вони роблять. Також вам потрібні лапки, якщо на вашому шляху є пробіли.
xcopy / i / e "C: \ temp \ папка 1" "C: \ temp \ папка 2"
Ось документація від 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
FYI ... якщо ви використовуєте TortoiseSVN і хочете створити простий пакетний файл, щоб періодично xcopy (або дзеркало каталогу) періодично зберігати цілі сховища у "безпечне" місцеположення, то це специфічний код, який ви можете використовувати. Він копіює через приховані каталоги / файли, підтримує атрибути лише для читання, а також усі підкаталоги та найкраще, не вимагає введення. Просто переконайтеся, що ви правильно призначили папку1 (безпечне репо) та папку2 (корисна репо).
@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%
І ось це люди!
Додайте до запланованих завдань і ніколи не озирайтеся.
@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
копіює каталоги та підкаталоги, крім порожніх, а /E
копіює каталоги та підкаталоги, включаючи порожні. /Q
не відображає імена файлів під час копіювання, в той час як під час копіювання /F
відображаються повні імена файлів джерела та призначення.
Я написав .bat файл, щоб скопіювати та вставити файл у тимчасову папку, зробити його поштовим і перенести у точку монтування smb.
@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%"