Archived
1
0

* now only changed files (size / timestamp) are copied back to device -- saves time

! Only works if U3_HOST_EXEC_PATH and U3_APP_DATA_PATH are full pathnames
This commit is contained in:
mbirth 2007-03-26 17:20:59 +00:00
parent 429f254029
commit da17fdfc7f
2 changed files with 44 additions and 15 deletions

View File

@ -3,11 +3,11 @@
; ### hostCleanUp ### ; ### hostCleanUp ###
; ### ### ; ### ###
; ########################################################################## ; ##########################################################################
If (U3_IS_DEVICE_AVAILABLE <> "true") If (U3_IS_DEVICE_AVAILABLE <> "true")
{ {
; U3 stick not plugged in!! ; U3 stick not plugged in!!
MsgBox 4112, U3 Device Not Available, Your U3 Device seems to be disconnected. The settings cannot be saved!`n`nAll your changes made since plugging in the U3 Device are likely to be lost. Try to manually save them now.`n`nAfter pressing OK, registry entries will be removed. MsgBox 4112, U3 Device Not Available (%U3_IS_DEVICE_AVAILABLE%), Your U3 Device seems to be disconnected. The settings cannot be saved!`n`nAll your changes made since plugging in the U3 Device are likely to be lost. Try to manually save them now.`n`n%U3_HOST_EXEC_PATH%`n`nAfter pressing OK, registry entries will be removed.
} }
Else Else
{ {
@ -61,6 +61,7 @@ Else
} }
;Copy data files ;Copy data files
CopyErrors := ""
Loop %datexe0% Loop %datexe0%
{ {
CurFile := datexe%A_Index% CurFile := datexe%A_Index%
@ -70,7 +71,14 @@ Else
IfExist %U3_HOST_EXEC_PATH%\%CurFile% IfExist %U3_HOST_EXEC_PATH%\%CurFile%
{ {
Status("Saving data directory " . CurFile . " ...") Status("Saving data directory " . CurFile . " ...")
FileCopyDir %U3_HOST_EXEC_PATH%\%CurFile%, %U3_APP_DATA_PATH%\%CurFile%, 1 SetWorkingDir %U3_HOST_EXEC_PATH%\%CurFile%
Loop *.*, 0, 1
{
FileCopyNewer(A_LoopFileLongPath, U3_APP_DATA_PATH . "\" CurFile . "\" . A_LoopFileFullPath)
If ErrorLevel
CopyErrors := CopyErrors . "Dir-entry: " . CurFile . "\" . A_LoopFileFullPath . "`n"
}
SetWorkingDir %A_ScriptDir%
} }
Else Else
{ {
@ -83,19 +91,10 @@ Else
{ {
IfExist %U3_HOST_EXEC_PATH%\%CurFile% IfExist %U3_HOST_EXEC_PATH%\%CurFile%
{ {
IfExist %U3_APP_DATA_PATH%\%CurFile%
{
FileGetSize FilSize1, %U3_HOST_EXEC_PATH%\%CurFile%
FileGetSize FilSize2, %U3_APP_DATA_PATH%\%CurFile%
FileGetTime FilStamp1, %U3_HOST_EXEC_PATH%\%CurFile%
FileGetTime FilStamp2, %U3_APP_DATA_PATH%\%CurFile%
if ((FilSize1 = FileSize2) and (FilStamp1 = FilStamp2)) {
; Both versions are same size and same date/time - skip
Continue
}
}
Status("Saving data file " . CurFile . " ...") Status("Saving data file " . CurFile . " ...")
FileCopy %U3_HOST_EXEC_PATH%\%CurFile%, %U3_APP_DATA_PATH%\%CurFile%, 1 FileCopyNewer(U3_HOST_EXEC_PATH . "\" . CurFile, U3_APP_DATA_PATH . "\" . CurFile)
If ErrorLevel
CopyErrors := CopyErrors . "File: " . CurFile . "`n"
} }
Else Else
{ {
@ -106,6 +105,8 @@ Else
} }
} }
} }
If (CopyErrors <> "")
MsgBox 4112, Error while copying, Following files could not be backed up:`n`n%CopyErrors%`n`nTry to manually save them now.`n`n%U3_HOST_EXEC_PATH%`n`nAfter pressing OK, those files will be deleted.
} }
IniRead KeepSettings, %INIFile%, U3Helper, KeepSettings, 0 IniRead KeepSettings, %INIFile%, U3Helper, KeepSettings, 0

View File

@ -53,6 +53,34 @@ Status(msg)
} }
} }
FileCopyNewer(srcf, dstf)
{
IfNotExist %srcf%
{
ErrorLevel = 1
return false
}
IfExist %dstf%
{
FileGetSize FilSize1, %srcf%
FileGetSize FilSize2, %dstf%
FileGetTime FilStamp1, %srcf%
FileGetTime FilStamp2, %dstf%
if ((FilSize1 = FilSize2) and (FilStamp1 = FilStamp2)) {
; Both versions are same size and same date/time - skip
ErrorLevel = 0
return true
}
}
FileCopy %srcf%, %dstf%, 1
If ErrorLevel
{
ErrorLevel = 2
return false
}
return true
}
IfExist %AppExe% IfExist %AppExe%
Menu Tray, Icon, %AppExe% Menu Tray, Icon, %AppExe%