Recce Posted March 11, 2009 Share Posted March 11, 2009 (edited) I need an input to do this script right (Yes I am a n00b).Its a simple task. Read the registry (keys listed below) and delete all the keys that meet the criterias.But it is a lot of keys and a lot of Criterias. How can this be solved?Using Case or If?Any help is welcome! Keys:RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button1", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button2", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button3", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button4", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button5", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button6", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button7", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button8", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button9", "Path")RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button10", "Path")Criterias$1 = "C:\Pfps\MPU\GPX2SHP\GPX2SHP.exe"$2 = "C:\Pfps\MPU\KML2SHP&GPX\KML2SHP&GPX.exe"$3 = "C:\Pfps\MPU\LPT2GPX\LPT2GPX.exe"$4 = "C:\Pfps\MPU\SHP2GPX\SHP2GPX.exe"$5 = "C:\Pfps\MPU\TXT2LPT\TXT2LPT.exe" Edited March 11, 2009 by Recce Link to comment Share on other sites More sharing options...
Authenticity Posted March 11, 2009 Share Posted March 11, 2009 $1 = "C:\Pfps\MPU\GPX2SHP\GPX2SHP.exe" $2 = "C:\Pfps\MPU\KML2SHP&GPX\KML2SHP&GPX.exe" $3 = "C:\Pfps\MPU\LPT2GPX\LPT2GPX.exe" $4 = "C:\Pfps\MPU\SHP2GPX\SHP2GPX.exe" $5 = "C:\Pfps\MPU\TXT2LPT\TXT2LPT.exe" For $i = 1 To 10 $Tmp = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button" & $i, "Path") If $Tmp <> "" Switch $Tmp Case $1 ;Something Case $2 ;Something Case $3 ;Something Case $4 ;Something case $5 ;And... something ;] EndSwitch EndIf Next ? Link to comment Share on other sites More sharing options...
Recce Posted March 11, 2009 Author Share Posted March 11, 2009 (edited) Thank you Authenticity´!Smart use Case and Switch (new to me)But how can I implant this scenario:1. Button 1 (or any button) is found to have criteria $3 (0r any criteria)2. Button 1 is deleted using "RegDelete" Edited March 11, 2009 by Recce Link to comment Share on other sites More sharing options...
Authenticity Posted March 11, 2009 Share Posted March 11, 2009 You're reading only one value from each key so it's assumed that if the value of the value name |o| was matched and deleted you don't need to bother with ContinueCase or to check again. What it should be like? only "Path" is assumed to be matched? Link to comment Share on other sites More sharing options...
Recce Posted March 11, 2009 Author Share Posted March 11, 2009 You're reading only one value from each key so it's assumed that if the value of the value name |o| was matched and deleted you don't need to bother with ContinueCase or to checkI agree!What it should be like? only "Path" is assumed to be matched?My question is how to implant "RegDelete" in the script. How to know what button number to delete?(Sorry if its a stupid question) Link to comment Share on other sites More sharing options...
Authenticity Posted March 11, 2009 Share Posted March 11, 2009 The same $i: $1 = "C:\Pfps\MPU\GPX2SHP\GPX2SHP.exe" $2 = "C:\Pfps\MPU\KML2SHP&GPX\KML2SHP&GPX.exe" $3 = "C:\Pfps\MPU\LPT2GPX\LPT2GPX.exe" $4 = "C:\Pfps\MPU\SHP2GPX\SHP2GPX.exe" $5 = "C:\Pfps\MPU\TXT2LPT\TXT2LPT.exe" $sRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\PFPS\FalconView\Custom Tools\Button" For $i = 1 To 10 $Tmp = RegRead($sRegKey & $i, "Path") If $Tmp <> "" Switch $Tmp Case $1,$2,$3,$4,$5 RegDelete($sRegKey & $i, "Path") EndSwitch EndIf Next ? Link to comment Share on other sites More sharing options...
Recce Posted March 11, 2009 Author Share Posted March 11, 2009 (edited) Thank you once again Authenticity ! But I must be implanting it wrong when AU3Check give me this: >"C:\Programmer\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /prod /AU3Check /in "C:\MPU\Remove_ FV_buttons.au3" +>18:36:38 Starting AutoIt3Wrapper v.1.10.1.14 Environment(Language:0406 Keyboard:00000406 OS:WIN_XP/Service Pack 3 CPU:X86 ANSI) >Running AU3Check (1.54.14.0) from:C:\Programmer\AutoIt3 C:\MPU\Remove_ FV_buttons.au3(22,18) : ERROR: multi-line 'If' missing 'Then'. If $Tmp <> "" ~~~~~~~~~~~~~~~~~^ C:\MPU\Remove_ FV_buttons.au3(27,5) : ERROR: missing Next. EndIf ~~~~^ C:\MPU\Remove_ FV_buttons.au3(20,12) : REF: missing Next. For $i = 1 To ~~~~~~~~~~~^ C:\MPU\Remove_ FV_buttons.au3(27,5) : ERROR: syntax error EndIf ~~~~^ C:\MPU\Remove_ FV_buttons.au3 - 3 error(s), 0 warning(s) !>18:36:38 AU3Check ended.rc:2 +>18:36:38 AutoIt3Wrapper Finished >Exit code: 0 Time: 0.327 Edited March 11, 2009 by Recce Link to comment Share on other sites More sharing options...
Authenticity Posted March 11, 2009 Share Posted March 11, 2009 (edited) Forgot to add the then, add "Then" after the If $Tmp <>.Edit: I don't know why you get error that there is no corresponding Next to the For $i = 1 To 10, don't forget to add it as well. Edited March 11, 2009 by Authenticity Link to comment Share on other sites More sharing options...
Recce Posted March 11, 2009 Author Share Posted March 11, 2009 Forgot to add the then, add "Then" after the If $Tmp <>.That did it!I wish I had you brain Authenticity!Thank you very very much! Link to comment Share on other sites More sharing options...
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