MERGE.BTM 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. @echo off
  2. setlocal
  3. iff "%1"=="" then
  4. echo Usage: MERGE mergeDir
  5. echo.
  6. echo MERGE eliminates files in mergeDir which are duplicated locally and moves
  7. echo files which are newer than local copies.
  8. goto end
  9. endiff
  10. if NOT ISDIR backup md backup
  11. echo Backing up source directory...
  12. set backupName=%@INSTR[0,2,%_DATE]%@INSTR[3,2,%_DATE]%@INSTR[0,2,%_TIME]%@INSTR[3,2,%_TIME]
  13. pkzip -o -P backup\%backupName makefile src\*.asm src\*.h src\*.c* *.doc *.txt *.btm *.rfs names.h
  14. set lastAge=%@FILEAGE[UPDATE.DAT]
  15. echo Processing files...
  16. for %a in (%1\*.*) (
  17. set b=%@filename[%a]
  18. if NOT exist %b set b=src\%@filename[%a]
  19. if NOT exist %b set b=seq\%@filename[%a]
  20. if NOT exist %b set b=qav\%@filename[%a]
  21. iff exist %b then
  22. echos Comparing %a:
  23. vcmpr %a %b nul > nul
  24. iff %? == 1 then
  25. echo Same -- removing %a
  26. del %a /q
  27. else
  28. iff %@FILEAGE[%b] LT %lastAge .AND. %@FILEAGE[%a] GT %@FILEAGE[%b] then
  29. echo Replacing with newer
  30. move %a %b /q
  31. else
  32. echo Different
  33. endiff
  34. endiff
  35. endiff
  36. )
  37. echo Merge complete. Remaining files in %1 must be merged manually.
  38. :end
  39. endlocal