autoitxp Posted October 25, 2012 Posted October 25, 2012 (edited) well fileexists check file existence only what if some one rename file as same ? i actually need to know if file is same as exists in folder ? Edited October 25, 2012 by autoitxp
BrewManNH Posted October 25, 2012 Posted October 25, 2012 I'm not sure how often you're going to run into the situation that you have 2 files with the same name in the same folder. You can't for example rename a file with the name of another file that already exists in the folder, try it and you'll see what I mean. If you try to copy or move a file to the folder, it will ask you to overwrite the one that's there or rename the one you're copying. So, you're asking about something that has a very low chance of ever happening. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator
Beege Posted October 25, 2012 Posted October 25, 2012 I dont think he means what he said. I think he means duplicate files. Same data, different names. Heres a quick example if thats what you mean: #include <file.au3> #include <Crypt.au3> ;path to check $path = @ScriptDir $aFilelist = _FileListToArray($path, '*', 1) _Crypt_Startup() $oDict = ObjCreate("Scripting.Dictionary") For $i = 1 to $aFilelist[0] $md5 = _Crypt_HashFile($path & '' & $aFilelist[$i], $CALG_MD5) $md5 = string($md5) If Not $oDict.Exists($md5) Then $oDict.add($md5, $path & '' & $aFilelist[$i]) Else MsgBox(0,'Files are equal', $path & '' & $aFilelist[$i] & @CRLF & $oDict.item($md5)) EndIf Next _Crypt_Shutdown() Assembly Code: fasmg . fasm . BmpSearch . Au3 Syntax Highlighter . Bounce Multithreading Example . IDispatchASMUDFs: Explorer Frame . ITaskBarList . Scrolling Line Graph . Tray Icon Bar Graph . Explorer Listview . Wiimote . WinSnap . Flicker Free Labels . iTunesPrograms: Ftp Explorer . Snipster . Network Meter . Resistance Calculator
autoitxp Posted October 25, 2012 Author Posted October 25, 2012 (edited) thanks is it good to get md5 hash Func _GetFileHashMD5($HashFile) Local $FileMD5 = '' If FileExists($HashFile) Then _Crypt_Startup() $FileMD5 = _Crypt_HashFile($HashFile, $CALG_MD5) _Crypt_Shutdown() If $FileMD5 = -1 Then Return '' EndIf Return $FileMD5 EndFunc ;==>_GetFileHashMD5 Edited October 25, 2012 by autoitxp
Beege Posted October 25, 2012 Posted October 25, 2012 In that case _Crypt_Startup() and _Crypt_Shutdown() would not be needed. They are already built into the _Crypt_HashFile function. Func _GetFileHashMD5($HashFile) Local $FileMD5 = '' If FileExists($HashFile) Then $FileMD5 = _Crypt_HashFile($HashFile, $CALG_MD5) If $FileMD5 = -1 Then Return '' EndIf Return $FileMD5 EndFunc ;==>_GetFileHashMD5 Assembly Code: fasmg . fasm . BmpSearch . Au3 Syntax Highlighter . Bounce Multithreading Example . IDispatchASMUDFs: Explorer Frame . ITaskBarList . Scrolling Line Graph . Tray Icon Bar Graph . Explorer Listview . Wiimote . WinSnap . Flicker Free Labels . iTunesPrograms: Ftp Explorer . Snipster . Network Meter . Resistance Calculator
guinness Posted October 25, 2012 Posted October 25, 2012 OR _IsFileSame UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
autoitxp Posted October 25, 2012 Author Posted October 25, 2012 (edited) well im trying to match md5 hash and install files is it right way to do it ? Func _FilesInstall() For $i = 0 To UBound($MainFileN) - 1 If _GetFileHashMD5(_GetDirPath(True) & $MainFileN[$i]) <> $MainFileHash[$i] Then Switch $MainFileHash[$i] Case '0x356407BE3264029D8EA928565565333F5' If FileInstall('.resFile_1.exe', _GetDirPath(True) & $MainFileN[$i], 1) = 0 Then Return False Case '0x0A4350E024BB7960E8C3D47115DEC37E' If FileInstall('.resFile_2.dll', _GetDirPath(True) & $MainFileN[$i], 1) = 0 Then Return False Case '0x9A5434F2342342494B5BB3AB03B0A847' If FileInstall('.resFile_3.dll',_GetDirPath(True) & $MainFileN[$i], 1) = 0 Then Return False Case '0xAC5E6B891A092313133BAADFBBBB3305' If FileInstall('.resFile_4.jpg', _GetDirPath(True) & $MainFileN[$i], 1) = 0 Then Return False EndSwitch EndIf Next Return True EndFunc ;==>_FilesInstall Func _GetFileHashMD5($HashFile) Local $FileMD5 = '' If FileExists($HashFile) Then $FileMD5 =_Crypt_HashFile($HashFile, $CALG_MD5) If $FileMD5 = -1 Then Return '' EndIf Return $FileMD5 EndFunc ;==>_GetFileHashMD5 Edited October 25, 2012 by autoitxp
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now