Code:
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ ' Simple backup procedure with incremental filenames in a subfolder. ' Preserve old backup copies. ' Use new PBWin 9 functions and statements. ' i.e. "c:/source/routine.bas" becomes "c:/source/BkFolder/routine_bas.001" '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ SUB MakeBackup(BYVAL fName AS STRING) 'complete full drive/path/file name LOCAL n AS LONG LOCAL BkFile, Temp AS STRING 'create subfolder if not exist BkFile = PATHSCAN$(PATH, fName) + "BkFolder" IF LEN(DIR$(BkFile, 16)) = 0 THEN MKDIR BkFile 'add actual extension name as part of filename Temp = BkFile + "\" + PATHSCAN$(NAMEX, fName) REPLACE "." WITH "_" IN Temp 'add new extension with a non existing number DO INCR n IF n > 990 THEN MSGBOX "BkFile limit reached ..." 'some action to alert BkFile = Temp + "." + FORMAT$(n, "000") LOOP UNTIL ISFILE(BkFile) = %FALSE 'use first free number FILECOPY fName, BkFile 'copy file to backup END SUB '¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Comment