批量加速Xcopy

时间:2015-10-01 13:52:17

标签: windows batch-file cmd xcopy

所以我试图从我的应用程序中复制数据备份。我在下面编写了批处理脚本来执行此操作,但脚本需要永远运行。

我在凌晨1点开始批处理脚本,它仍然在上午8:30运行。这对我来说似乎很奇怪,因为当我在Windows文件资源管理器中手动复制我的应用程序的备份时,它会在7-15分钟内复制,具体取决于网络流量。

REM %backupcmd% "C:\Program Files\App\App Server\Data\Backups" "%drive%\"行。这是我用来备份数据的原始批处理脚本,它在一个月前有效地运行。

所以我用xcopy尝试了/d命令,因此它只会复制在该日期或之后(当前日期)更改的源文件,以及备份I' m复制是在每天晚上12:01进行,复制备份脚本从凌晨1点开始。

有关如何加快我的xcopy的任何建议将不胜感激。如果您认为我也应该使用powershell执行此任务,我也可以使用该选项。

@echo off
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set yyyy=%ldt:~0,4%
set mm=%ldt:~4,2%
set dd=%ldt:~6,2%

:: variables
set drive=Z:\RootSoft\App\Data Backups
set backupcmd=xcopy /s /c /d /e /h /i /r /y /f /z

echo ### Backing up Backup...
REM %backupcmd% "C:\Program Files\App\App Server\Data\Backups" "%drive%\"
xcopy "C:\Program Files\App\App Server\Data\Backups" "Z:\RootSoft\App\Data Backups" /D:%mm%-%dd%-%yyyy% /s /c /e /h /i /r /y /f /z


:: use below syntax to backup other directories...
:: %backupcmd% "...source directory..." "%drive%\...destination dir..."

echo Backup Complete!
echo %errorlevel%
pause

2 个答案:

答案 0 :(得分:3)

您可以尝试使用ROBOCOPY/MT切换来加速复制。

此外,您可以通过使用TimeThis来查看exe的过程中进行一些测试(不需要安装,只需使用7z提取socketPath在当前批处理文件夹中)

答案 1 :(得分:0)

  • netsh interface tcp show global

  • netsh int tcp set heuristics disabled

  • netsh int tcp set global autotuninglevel = disabled
  • netsh int ip set global taskoffload = disabled