#125251 - 2004-08-18 04:33 PM
Checking for file and modifying
|
brewdude6
Hey THIS is FUN
Registered: 2000-10-21
Posts: 280
Loc: Nashville, TN
|
This script isn't finished by any means, but I thought I would stop and hopefully get some pointers before getting to far.
Here is the scenario: We use Hummingbird Hostex Explorer with many different versions. I need to modify the hotex.ini file on every machine that has hostex installed. I can use readkey to find out if hostex is installed, but the pointer to the userdir isn't consistent in the registry so I decided to search for the file in all known filepaths.
I'd like to check all the possible locations, add the entries to the ini file if they don't exist, continue on if they do.
I believe that I need to change the way the variables are declared...maybe only declaring them if the file is found and use the same variable name in each case statement? My concern is that there may be more than one hostex.ini file and using select case would only change the first instance it came accross?
Thank you for any suggestions.
Code:
$HX1 = 'c:\program files\exceed.95\user\hostex\hostex.ini' $HX2 = 'c:\hostexplorer\user\hostex\hostex.ini' $HX3 = 'c:\program files\exceed.nt\user\hostex\hostex.ini' $HX4 = 'c:\hostex6.2\user\hostex\hostex.ini' $HX5 = 'c:\hostexplorer\NT\user\hostex\hostex.ini' $HX6 = 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini' $HX7 = 'c:\Documents and Settings\All Users\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini' $HX8 = 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini' $HX9 = 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini' $HX10 = '%APPDATA%\Hummingbird\Connectivity\7.10\Hostex\hostex.ini' $HX11 = 'c:\Windows\Application Data\Hummingbird\Connectivity\8.00\hostexplorer\hostex.ini' $HX12 = '%APPDATA%\Hummingbird\Connectivity\8.00\Hostexplorer\hostex.ini' $HX13 = '%windir%\hostex.ini' If InGroup("Users-Macro") Exit EndIf $Hostexexist = KeyExist("HKEY_LOCAL_MACHINE\Software\Hummingbird") If $Hostexexist Select Case Exist("$HX1") WriteProfileString("$HX1","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX1","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX2") WriteProfileString("$HX2","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX2","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX3") WriteProfileString("$HX3","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX3","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX4") WriteProfileString("$HX4","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX4","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX5") WriteProfileString("$HX5","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX5","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX6") WriteProfileString("$HX6","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX6","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX7") WriteProfileString("$HX7","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX7","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX8") WriteProfileString("$HX8","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX8","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX9") WriteProfileString("$HX9","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX9","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX10") WriteProfileString("$HX10","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX10","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX11") WriteProfileString("$HX11","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX11","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX12") WriteProfileString("$HX12","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX12","Disable.Settings","Macro Cancel Recording","Off, Hide") Case Exist("$HX13") WriteProfileString("$HX13","Disable.Settings","Macro Edit","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro Run","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro Record","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro Pause","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro Resume","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro End Recoding","Off, Hide") WriteProfileString("$HX13","Disable.Settings","Macro Cancel Recording","Off, Hide") Case 1 ? "Hostex.ini wasn't found" EndSelect EndIf
_________________________
I could have made a neat retort but didn't, for I was flurried and didn't think of it till I was downstairs. -Mark Twain
|
|
Top
|
|
|
|
#125252 - 2004-08-18 04:59 PM
Re: Checking for file and modifying
|
Richard H.
Administrator
   
Registered: 2000-01-24
Posts: 4946
Loc: Leatherhead, Surrey, UK
|
Ick! Surely the path to the application / config files is available in the registry? Why is it inconsistant?
As you say, you have a major problem with your script if the files are in more than one place - only one will get updated.
If you really want to persevere with the manual find,
- Assign the paths to an array.
- loop through the array and do the work for each file found.
|
|
Top
|
|
|
|
#125253 - 2004-08-18 05:07 PM
Re: Checking for file and modifying
|
Richard H.
Administrator
   
Registered: 2000-01-24
Posts: 4946
Loc: Leatherhead, Surrey, UK
|
Something like this: Code:
$asFilePaths='c:\program files\exceed.95\user\hostex\hostex.ini', 'c:\hostexplorer\user\hostex\hostex.ini', 'c:\program files\exceed.nt\user\hostex\hostex.ini', 'c:\hostex6.2\user\hostex\hostex.ini', 'c:\hostexplorer\NT\user\hostex\hostex.ini', 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini', 'c:\Documents and Settings\All Users\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini', 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini', 'c:\Windows\Application Data\Hummingbird\Connectivity\7.10\Hostex\hostex.ini', '%APPDATA%\Hummingbird\Connectivity\7.10\Hostex\hostex.ini', 'c:\Windows\Application Data\Hummingbird\Connectivity\8.00\hostexplorer\hostex.ini', '%APPDATA%\Hummingbird\Connectivity\8.00\Hostexplorer\hostex.ini', '%windir%\hostex.ini' If InGroup("Users-Macro") Exit 0 EndIf If KeyExist("HKEY_LOCAL_MACHINE\Software\Hummingbird") For Each $sPath in $asFilePaths If Exist($sPath) $=WriteProfileString($sPath,"Disable.Settings","Macro Edit","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro Run","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro Record","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro Pause","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro Resume","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro End Recoding","Off, Hide") $=WriteProfileString($sPath,"Disable.Settings","Macro Cancel Recording","Off, Hide") EndIf Next EndIf
|
|
Top
|
|
|
|
Moderator: Jochen, Allen, Radimus, Glenn Barnas, ShaneEP, Ruud van Velsen, Arend_, Mart
|
1 registered
(Henriques)
and 2516 anonymous users online.
|
|
|