Jump to content

Get Data and Check Data: Combined!


mr-es335
 Share

Recommended Posts

Good day,

I primarily "manipulate" data, under five main "headings", namely:
1) _BackupSrcData
2) _CheckDstData
3) _RemoveSrcData
4) _CheckSrcData
5) _RestoreSrcData

For example:

; -----------------------------------------------
#include <FileConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_BackupSrcData()
; -----------------------------------------------
Func _BackupSrcData()
    ; -----------------------------------------------
    ; Source data
    Local $_sSrcPath1 = "C:\Program Files\FabFilter"
    Local $_sSrcPath2 = "C:\RML\SAC\VST_PlugIns"
    Local $_sSrcPath3 = "C:\Users\Dell\AppData\Roaming\FabFilter"
    Local $_sSrcPath4 = "E:\Text\FabFilter"
    ; -----------------
    ; Destination data
    Local $_sDstPath1 = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Program Files\FabFilter"
    Local $_sDstPath2 = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns"
    Local $_sDstPath3 = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    Local $_sDstPath4 = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter"
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data...", 350, 50, -1, -1)
    Sleep(1000)
    ; -----------------------------------------------
    DirCopy($_sSrcPath1, $_sDstPath1, $FC_OVERWRITE)
    DirCopy($_sSrcPath2, $_sDstPath2, $FC_OVERWRITE)
    DirCopy($_sSrcPath3, $_sDstPath3, $FC_OVERWRITE)
    DirCopy($_sSrcPath4, $_sDstPath4, $FC_OVERWRITE)
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data completed...", 350, 50, -1, -1)
    Sleep(1000)
    SplashOff()
EndFunc   ;==>_BackupSrcData
; -----------------------------------------------

...and...

; -----------------------------------------------
#include <Array.au3>
#include "ExtMsgBox.au3"
#include <WinAPIFiles.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_WinAPI_Wow64EnableWow64FsRedirection(False)
; -----------------------------------------------
_GetDSTResult()
_CheckDstData()
; -----------------------------------------------
Func _GetDSTResult()
    ; Source data
    Local $sResult = _CheckDstData()
    _ExtMsgBoxSet(1, 0, Default, Default, Default, Default, 1000)
    _ExtMsgBox(64, "Ok", "   Search Results!", $sResult)
EndFunc   ;==>_GetDSTResult
; -----------------------------------------------
Func _CheckDstData()
    ; Destination data
    Local $aPath[] = ["D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hkcu.reg", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hklm.reg", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-MB.dll", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-Q 3.dll", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-R 2.dll", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-MB", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-Q 3", _
            "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-R 2"]
    ; -----------------
    _ArrayColInsert($aPath, 1)
    ; -----------------
    For $i = 0 To UBound($aPath) - 1
        $aPath[$i][1] = FileExists($aPath[$i][0]) ? "Yes" : "No"
    Next
    Return _ArrayToString($aPath, "  ")
EndFunc   ;==>_CheckDstData
; -----------------------------------------------

With the recent assistance of ioa747, he updated a "two-part script" [as shown above], into what appears to be a single script!

For example:

; -----------------------------------------------
; With the assistance of...and the gratitude of...ioa747!
; Date: September 15th, 2024
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_UpdateRegValueData2()
; -----------------------------------------------
Func _UpdateRegValueData2()
    Local $_sSrcPath[10] = [9]
    $_sSrcPath[1] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hkcu.reg"
    $_sSrcPath[2] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hklm.reg"
    $_sSrcPath[3] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-MB.dll"
    $_sSrcPath[4] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-Q 3.dll"
    $_sSrcPath[5] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-R 2.dll"
    $_sSrcPath[6] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    $_sSrcPath[7] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-MB"
    $_sSrcPath[8] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-Q 3"
    $_sSrcPath[9] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-R 2"
    ; -----------------------------------------------
    Local $sMessage = "Start..." & @CRLF
    SplashTextOn("NOTICE!!", $sMessage, 650, 350, -1, -1, 4)
    Sleep(1000)
    ; -----------------------------------------------
    For $i = 1 To $_sSrcPath[0]
        ;RegDelete($_sSrcPath[$i])
        ;$sMessage &= $i & ") " & (_RegKeyExist($_sSrcPath[$i]) ? "NOT Delete " : "Delete ") & $_sSrcPath[$i] & @CRLF
        ;ControlSetText("NOTICE!!", "", "Static1", $sMessage)
        ControlSetText("NOTICE!!", "", "Static1", $sMessage)
        Sleep(300)
    Next
    ; -----------------
    $sMessage &= "End..." & @CRLF
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", $sMessage, 650, 350, -1, -1, 4)
    Sleep(2000)
    SplashOff()
EndFunc   ;==>_UpdateRegValueData2
; -----------------------------------------------
Func _RegKeyExist($sKeyname)
    RegRead($sKeyname, "")
    If @error = -1 Then
        ;MsgBox($MB_SYSTEMMODAL, "Registry", "The registry key" & @CRLF & $sKeyname & @CRLF &  "Exist.")
        Return True
    Else
        ;MsgBox($MB_SYSTEMMODAL, "Registry", "The registry key" & @CRLF & $sKeyname & @CRLF &  "NOT Exist.")
        Return False
    EndIf
EndFunc   ;==>_RegKeyExist
; -----------------------------------------------

Thus, my question, "How can the [_BackupSrcData] and the [_CheckDstData] scripts be combined in a similar manner as the above script?"

As ios774 stated in a previous post,

;~ simply with arrays, they are more easily managed in a loop

Any assistance in this matter would be greatly appreciated!

Edited by mr-es335
Link to comment
Share on other sites

Good day,

I do believe that I \just might have "stumbled upon something" here...again, many thanks to ioa757?!

Check this out...

; -----------------------------------------------
; With the assistance of...and the gratitude of...ioa747!
; Date: September 15th, 2024
; -----------------------------------------------
#include <FileConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_BackupSrcData()
; -----------------------------------------------
Func _BackupSrcData()
    ; Source data
    Local $_sSrcPath[5] = [4]
    $_sSrcPath[1] = "C:\Program Files\FabFilter"
    $_sSrcPath[2] = "C:\RML\SAC\VST_PlugIns"
    $_sSrcPath[3] = "C:\Users\Dell\AppData\Roaming\FabFilter"
    $_sSrcPath[4] = "E:\Text\FabFilter"
    ; -----------------
    ; Destination data
    Local $_sDstPath[5] = [4]
    $_sDstPath[1] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Program Files\FabFilter"
    $_sDstPath[2] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns"
    $_sDstPath[3] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    $_sDstPath[4] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter"
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data...", 350, 50, -1, -1)
    Sleep(1000)
    ; -----------------------------------------------
    For $i = 1 To $_sSrcPath[0]
        DirCopy($_sSrcPath[$i], $_sDstPath[$i], $FC_OVERWRITE)
    Next
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data completed...", 350, 50, -1, -1)
    Sleep(1000)
    SplashOff()
EndFunc   ;==>_BackupSrcData
; -----------------------------------------------

As an indirect result of ioa747, without his knowing it, he actually introduced me to "arrays"!!!

As I noted in a previous post: "If it were possible, ios747, I would give you 'arrays'!!"

So, the real question is, "Am I on the right track here?"

Link to comment
Share on other sites

Good day,

Following is my "combined effort":

; -----------------------------------------------
; With the assistance of...and the gratitude of...ioa747!
; Date: September 15th, 2024
; -----------------------------------------------
#include <FileConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_BackupSrcData()
_CheckDstData()
; -----------------------------------------------
Func _BackupSrcData()
    ; Source data
    Local $_sSrcPath[5] = [4]
    $_sSrcPath[1] = "C:\Program Files\FabFilter"
    $_sSrcPath[2] = "C:\RML\SAC\VST_PlugIns"
    $_sSrcPath[3] = "C:\Users\Dell\AppData\Roaming\FabFilter"
    $_sSrcPath[4] = "E:\Text\FabFilter"
    ; -----------------
    ; Destination data
    Local $_sDstPath[5] = [4]
    $_sDstPath[1] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Program Files\FabFilter"
    $_sDstPath[2] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns"
    $_sDstPath[3] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    $_sDstPath[4] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter"
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data...", 350, 50, -1, -1)
    Sleep(1000)
    ; -----------------------------------------------
    For $i = 1 To $_sSrcPath[0]
        DirCopy($_sSrcPath[$i], $_sDstPath[$i], $FC_OVERWRITE)
    Next
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", "Backup Src data completed...", 350, 50, -1, -1)
    Sleep(1000)
    SplashOff()
EndFunc   ;==>_BackupSrcData
; -----------------------------------------------
Func _CheckDstData()
    Local $_sSrcPath[10] = [9]
    $_sSrcPath[1] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hkcu.reg"
    $_sSrcPath[2] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hklm.reg"
    $_sSrcPath[3] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-MB.dll"
    $_sSrcPath[4] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-Q 3.dll"
    $_sSrcPath[5] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-R 2.dll"
    $_sSrcPath[6] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    $_sSrcPath[7] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-MB"
    $_sSrcPath[8] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-Q 3"
    $_sSrcPath[9] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-R 2"
    ; -----------------------------------------------
    Local $sMessage = "" & @CRLF
    SplashTextOn("NOTICE!!", $sMessage, 850, 250, -1, -1, 4)
    Sleep(500)
    ; -----------------------------------------------
    For $i = 1 To $_sSrcPath[0]
        $sMessage &= $i & $_sSrcPath[$i] & @CRLF
        ControlSetText("NOTICE!!", "", "Static1", $sMessage)
        Sleep(.05)
    Next
    ; -----------------
    $sMessage &= "" & @CRLF
    ; -----------------------------------------------
    SplashTextOn("NOTICE!!", $sMessage, 850, 250, -1, -1, 4)
    Sleep(3000)
    SplashOff()
EndFunc   ;==>_CheckDstData
; -----------------------------------------------

Any comments and|or suggestion would be greatly appreciated.

Thank you for your time!

Link to comment
Share on other sites

  • mr-es335 changed the title to Get Data and Check Data: Combined!

Good day,

One final question...which may be asked under a separate cover...we will see..."If data already exists...either 1) in a text file, or 2) in a folder, can an array be employed to read such content?" "If so, how is this to be accomplished [...employing the example below]?"

For example:

; SrcText1
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hkcu.reg
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Reg_Keys\hklm.reg
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-MB.dll
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-Q 3.dll
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns\FabFilter Pro-R 2.dll
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-MB
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-Q 3
D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter\Presets\Pro-R 2

...and...

; Folder_Listing
Micro
One
Pro-C 2
Pro-DS
Pro-G
Pro-L 2
Pro-MB
Pro-Q 3
Pro-R 2
Saturn 2
Simplon
Timeless 3
Twin 3
Volcano 3
FabFilter.ico
Readme.txt
unins000.dat
unins000.exe

Any assistance in this matter would be greatly appreciated!

 

Folder_Contents.png

Edited by mr-es335
Link to comment
Share on other sites

On 9/16/2024 at 6:40 PM, mr-es335 said:

So, the real question is, "Am I on the right track here?"

👍
now in each step of this loop which file do you want to check?

Below it checks all the files from the source, if they exist in the destination
 

; -----------------------------------------------
; With the assistance of...and the gratitude of...ioa747!
; Date: September 15th, 2024
; -----------------------------------------------
#include <FileConstants.au3>
#include <File.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
_BackupSrcData()
; -----------------------------------------------
Func _BackupSrcData()
    ; Source data
    Local $_sSrcPath[5] = [4]
    $_sSrcPath[1] = "C:\Program Files\FabFilter"
    $_sSrcPath[2] = "C:\RML\SAC\VST_PlugIns"
    $_sSrcPath[3] = "C:\Users\Dell\AppData\Roaming\FabFilter"
    $_sSrcPath[4] = "E:\Text\FabFilter"
    ; -----------------
    ; Destination data
    Local $_sDstPath[5] = [4]
    $_sDstPath[1] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Program Files\FabFilter"
    $_sDstPath[2] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\RML\SAC\VST_PlugIns"
    $_sDstPath[3] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_C\Users\Dell\AppData\Roaming\FabFilter"
    $_sDstPath[4] = "D:\Install\App_Install\Digital_Audio\3_FabFilter\Data\Source_Data_E\Text\FabFilter"
    ; -----------------------------------------------

    Local $sMsg1, $sMsg2, $sResult, $iFailure, $iMissing
    $sMsg1 = "Backup Src data..." & @CRLF & @CRLF
    SplashTextOn("NOTICE!!", $sMsg1, 700, 300, -1, -1, 4)
    Sleep(1000)
    ; -----------------------------------------------
    For $i = 1 To $_sSrcPath[0]
        $sMsg1 = "Backup Src data..." & @CRLF & @CRLF
        $sResult = DirCopy($_sSrcPath[$i], $_sDstPath[$i], $FC_OVERWRITE)

        If $sResult <> 1 Then $iFailure += 1
        $sResult = ($sResult = 1 ? "successful" : "failure")
        $sMsg2 = "Copy folder:" & @CRLF & $_sSrcPath[$i] & @CRLF & $sResult

        ControlSetText("NOTICE!!", "", "Static1", $sMsg1 & $sMsg2)
        ConsoleWrite("************************************************" & @CRLF)
        ConsoleWrite($sMsg1 & $sMsg2 & @CRLF)

        Sleep(500)

        Local $aFiles = _FileListToArrayRec($_sSrcPath[$i], "*", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT)
        If IsArray($aFiles) Then
            $sMsg1 = $sMsg1 & $sMsg2 & @CRLF & @CRLF &  "Check files:" & @CRLF
            $sMsg2 = ""
            For $f = 1 To $aFiles[0]
                $sResult = FileExists($_sDstPath[$i] & "\" & $aFiles[$f])
                ConsoleWrite($sResult & " - " & $_sDstPath[$i] & "\" & $aFiles[$f] & @CRLF)
                If $sResult <> 1 Then
                    $iMissing += 1
                    $sMsg2 &= "   missing - " & $aFiles[$f] & @CRLF
                EndIf
            Next

            $sMsg2 = $iMissing > 0 ? $sMsg2 : "   All files is ok"
            ControlSetText("NOTICE!!", "", "Static1", $sMsg1 & $sMsg2)
            ConsoleWrite($sMsg1 & $sMsg2 & @CRLF)
            $iMissing = 0
        EndIf

        Sleep(2000)

    Next
    ConsoleWrite("************************************************" & @CRLF)
    ; -----------------------------------------------
    $sMsg1 = "Backup Src data completed..." & @CRLF & @CRLF
    $sMsg2 = ($iFailure > 0 ? $iFailure & " failures" : "successful")
    ControlSetText("NOTICE!!", "", "Static1", $sMsg1 & $sMsg2)
    Sleep(3000)
    SplashOff()
EndFunc   ;==>_BackupSrcData

 

Edited by ioa747

I know that I know nothing

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...