Avatar billede perhenriksen Nybegynder
23. april 2003 - 13:05 Der er 6 kommentarer og
1 løsning

Kix-script der skriver en key fra Registry til en INI fil.

Jeg står med 2 problemer.

1. Jeg er ikke den storre haj til KIX
2. Jeg har brug for at finde oplysninger fra Registry på vores maskiner i firmaet.

Er der nogen der kan lave et hurtigt, simpel Kix-script der læser en key i registry og lægger den i en INI fil lokalt på maskinen.

Jeg står og har hårdt brug for dette script, så der er 100 point at hente !!

Mvh
Per Henriksen
Avatar billede jpvj Nybegynder
23. april 2003 - 13:20 #1
Ja, det kan jeg da godt... Hvilken nøgle vil du have læst ud, og hvad skal der skrives i hvilken ini fil? Giv et eksempel.
Avatar billede perhenriksen Nybegynder
23. april 2003 - 13:24 #2
Denne streng -> HKEY_LOCAL_MACHINE\SOFTWARE\Network Associates\TVD\Shared Components\McUpdate\CurrentVersion\Upgrade\Upgrade Site1
Og denne Key -> szUNCLocation

Må gerne smides i en fil kaldes C:\Sdat.ini
Avatar billede jpvj Nybegynder
23. april 2003 - 13:25 #3
Hvordan skal filen se ud?? Prøve at skrive indholdet af filen præcist som du vil have det. Hvad hvis filen eksisterer i forvejen? Skal den så overskrives?
Avatar billede perhenriksen Nybegynder
23. april 2003 - 13:30 #4
Det eneste der skal stå er;
Upgrade path; 'REGKEY'

Hvis filen eksistere skal denne overskrives.
Avatar billede jpvj Nybegynder
23. april 2003 - 13:44 #5
Forstår ikke din sidste kommentar. Skrive lige helt præcist hvad begge nøgler hedder, en "eksempelværdi" for begge, samt hvordan du vil have linierne i Sdat.ini.

JP
Avatar billede jpvj Nybegynder
23. april 2003 - 14:02 #6
Anyway... her er et script, som du nok let kan modificere. Du tilføjer blot så mange kald til reg2ini med de rette parametre som du har brug for. Hvis output formatet er forkert kan det rettes i linien "WriteLine" i funktionen reg2ini.

FUNCTION reg2ini($KEY, $VALUE, $FILENUM)
  ; Remember to call with KEY ending with \
  $val = ReadValue($KEY, $VALUE)
  IF @ERROR = 0
    $x = WriteLine($FILENUM, $KEY+$VALUE + ";" + $val + @CRLF )
    IF $x <> 0
      BEEP
      ? "failed to write to file, error code : [" + $x + "]"
    ENDIF
  ELSE
    BEEP
    ? "failed to read " + $KEY + $VALUE, + " error code : [" + @ERROR + "]"
  ENDIF
ENDFUNCTION


$file_num = 1
$file_name = "C:\Sdat.ini"
$file_open_mode = 5  ; create new file if it does not exist

DEL ($file_name)
IF Open($file_num, $file_name, $file_open_mode) = 0
  reg2ini("HKEY_CURRENT_USER\Software\Ghisler\Total Commander\", "InstallDir", $file_num)
  Close($file_num)
ELSE
  BEEP
  ? "failed to open file, error code : [" + @ERROR + "]"
ENDIF


JP
Avatar billede perhenriksen Nybegynder
23. april 2003 - 15:11 #7
Hej JP

Beklager jeg ikke fik svaret på dit spørgsmål før, men der opstod en lille krise :)

Det script du har lavet virker fint, så jeg smider nogle point til dig !!

Tak for hjælpen !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester