Thanks DBM for your reply, I wanted something more on the lines of, Only replace the files that are changed, add the files that do not exist in the Harddisk folder.
Here is what i came up with so far. Bear with me on the code. Its confusing.
Code:
;_________| USB FOLDER, RECIEVES LIST OF FILES AND THEIR MODIFICATION DATES
FileList =
Loop, E:\XYZ\*.*
FileList = %FileList%%A_LoopFileTimeModified%`t%A_LoopFileName%`n
Loop, parse, FileList, `n
{
If A_LoopField =
Continue
StringSplit, FileItem, A_LoopField, %A_Tab% ; SPLITS THE DATE AND NAME INTO TWO VARIABLES
USBFILEMOD%A_Index% = %FileItem1% ; SAVES USB FILE NAME IN THE MEMORY
USBFILENAME%A_Index% = %FileItem2% ; SAVES USB FILE MODIFICATION DATE IN THE MEMORY
FileNO=%A_Index% ; USED LATER AS NUMBER OF LOOPS WHEN COMPARING MODIFICATION DATES
}
;_________| HARDDRIVE FOLDER, RECIEVES LIST OF FILES AND THEIR MODIFICATION DATES
FileList2 =
Loop, D:\XYZ\College\XYZ\*.*
FileList2 = %FileList2%%A_LoopFileTimeModified%`t%A_LoopFileName%`n
Loop, parse, FileList2, `n
{
If A_LoopField =
Continue
StringSplit, FileItem, A_LoopField, %A_Tab% ; SPLITS THE DATE AND NAME INTO TWO VARIABLES
HOMEFILEMOD%A_Index%=%FileItem1% ; SAVES HOME FILE NAME IN THE MEMORY
HOMEFILENAME%A_Index%=%FileItem2% ; SAVES HOME FILE MODIFICATION DATE IN THE MEMORY
}
;_________| COMPARING THE TWO MODIFICATION DATES AND REPLACING OLDER FILE IN HARDRIVE ACCORDINGLY
Loop, %FileNO%
{
USBMOD = % USBFILEMOD%A_Index% ; CHANGE THE NAME TO ADD %A_Index% INTO THE VARIABLE
HOMEMOD = % HOMEFILEMOD%A_Index% ; CHANGE THE NAME TO ADD %A_Index% INTO THE VARIABLE
MsgBox, USB:`t%USBMOD%`nHome:`t%HOMEMOD% ; CONFIRMS THE TWO DIFFERENT MODIFICATION DATES, ONLY USED DURING TESTING PROCESS. WILL BE REMOVED ONCE COMPLETE.
If USBMOD > HOMEMOD ; THIS IS THE PART THATS NOT WORKING, I TRIED "if var > value" I TRIED "IfGreater, var, value" NONE OF THESE WORK!
{
NAME= % USBFILENAME%A_Index% ; THIS IS ONLY USED DURING TESTING PROCESS. WILL BE REMOVED ONCE COMPLETE.
MsgBox, 4, File: %NAME% Has been modified. Want to replace on Harddrive?
IfMsgBox, Yes
{
FileCopy, E:\XYZ\%NAME% , D:\XYZ\College\XYZ\, 1
}
Else
{
}
}
Else
{
NAME= % USBFILENAME%A_Index% ; THIS IS ONLY USED DURING TESTING PROCESS. WILL BE REMOVED ONCE COMPLETE.
MsgBox, File: %NAME% `nHas not been modified ; THIS IS ONLY USED DURING TESTING PROCESS. WILL BE REMOVED ONCE COMPLETE.
}
}
The part i am currently stuck on is the comparison, i tried both of these "IfGreater, var, value (same: if var > value)" no of which work.
Any other comparison methods?
Thanks
DABSTER