Saturday, 1 November 2014

Use RoboCopy to update your E2B USB drive


I use RoboCopy (included in Windows Vista and later versions) to update all my E2B USB drives to the latest version.

I have a UPDATE_E2B_DRIVE.CMD file in the same folder as my new E2B files (after unzipping them).

To update any E2B USB drive with the new version, I just double-click the CMD file and enter the drive letter. It then copies the new files over but does not bother copying any unaltered files, resulting in a much faster update as only the files with a different size or timestamp are copied.


Only 1 file has been updated as all the others were already present and current,

My version excludes copying over all .zip files and the UPDATE_E2B_DRIVE.CMD file itself by using the /XF switch. Note that the /MT:1 parameter ensures only one execution thread is used (the robocopy default is 8) and this ensures that the files have the best chance of being contiguous (a multi-threaded copy tends to cause fragmentation of large files).

@echo off
cls
echo.
color 1f
echo %~n0
echo.
echo COPY ALL FILES FROM %~dp0
echo.
echo TO THE ROOT OF ANOTHER DRIVE
echo.
echo Only new and changed files are copied.
echo.
set ask=%1
if "%ask%"=="" set /P ask=Enter Drive Letter to copy files to (e.g. E) : 
if "%ask%"=="" goto :EOF
REM exclude .zip files and this file
robocopy %~dp0 %ask%:\ /E /NFL /NDL /NJH /MT:1 /XF *.zip %~nx0
pause