123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- @echo off
- setlocal
- iff "%1"=="" then
- echo Usage: MERGE mergeDir
- echo.
- echo MERGE eliminates files in mergeDir which are duplicated locally and moves
- echo files which are newer than local copies.
- goto end
- endiff
- if NOT ISDIR backup md backup
- echo Backing up source directory...
- set backupName=%@INSTR[0,2,%_DATE]%@INSTR[3,2,%_DATE]%@INSTR[0,2,%_TIME]%@INSTR[3,2,%_TIME]
- pkzip -o -P backup\%backupName makefile src\*.asm src\*.h src\*.c* *.doc *.txt *.btm *.rfs names.h
- set lastAge=%@FILEAGE[UPDATE.DAT]
- echo Processing files...
- for %a in (%1\*.*) (
- set b=%@filename[%a]
- if NOT exist %b set b=src\%@filename[%a]
- if NOT exist %b set b=seq\%@filename[%a]
- if NOT exist %b set b=qav\%@filename[%a]
- iff exist %b then
- echos Comparing %a:
- vcmpr %a %b nul > nul
- iff %? == 1 then
- echo Same -- removing %a
- del %a /q
- else
- iff %@FILEAGE[%b] LT %lastAge .AND. %@FILEAGE[%a] GT %@FILEAGE[%b] then
- echo Replacing with newer
- move %a %b /q
- else
- echo Different
- endiff
- endiff
- endiff
- )
- echo Merge complete. Remaining files in %1 must be merged manually.
- :end
- endlocal
|