Seite 1 von 1

Sting aus Datei auslesen und in Variable speichern

Verfasst: 14 Sep 2017, 07:55
von isnoguter
Hallo,

gibt es eine Möglichkeit aus einer TXT- oder INI-Datei eine Zeile auszulesen und diese in eine Variable zu speichern welche im weiteren Skript genutzt werden kann?

Soweit komme ich noch aber danach finde ich keinen passenden Befehl im Handbuch. http://download.uib.de/opsi_stable/doc/ ... chtextfile.

Code: Alles auswählen

[PatchTextFile_profiles]
FindLine <Suchstring> 
???
Viele Grüße

Re: Sting aus Datei auslesen und in Variable speichern

Verfasst: 14 Sep 2017, 08:02
von thomas.besser
Willst du jetzt auslesen oder eine Datei ändern (= PatchTextFile)?

Um eine INI-Datei auszulesen, siehe http://download.uib.de/opsi4.0/doc/html ... ctions-ini

Gruß
Thomas

Re: Sting aus Datei auslesen und in Variable speichern

Verfasst: 14 Sep 2017, 09:06
von M.Reinhard
Guten Morgen,

je nachdem um welche Datei-Typen es sich handel und wie Sie aufgebaut sind, hast du unterschiedliche Möglichkleiten.
Was für jeden Datei-Typ klappt ist:

Code: Alles auswählen

DefStringList $list$
Set $list$ = loadUnicodeTextFile('Datei')
DefVar $Variabl1$ 
Set $Variabl1$ = takeFirstStringContaining($list$,'Suchstring')
Hierbei muss du die Strings ggf. weiter Zerlegen oder mehrfach iterieren.
Aber alles notwendige solltest du hier finden: http://download.uib.de/opsi4.0/doc/html ... ctions-ini

Re: Sting aus Datei auslesen und in Variable speichern

Verfasst: 14 Sep 2017, 10:28
von isnoguter
Danke für die Antworten.

Als erstes habe ich diese Funktion getestet. Zur Weiterverarbeitung muss ich den String aber noch zerlegen.

Code: Alles auswählen

GetValueFromInifile (<FILE>, <SECTION>, <KEY>, <DEFAULTVALUE>)
Mit dieser Funktion habe ich genau das gefunden wonach ich gesucht habe.

Code: Alles auswählen

getValueFromFileBySeparator(<key string>,<separator string>, <file name>)
Vielen Dank

Re: Sting aus Datei auslesen und in Variable speichern

Verfasst: 14 Sep 2017, 11:11
von isnoguter
Ich habe noch eine zweite Frage.

Die Datei aus der ich mittels der Funktion die Variable befülle liegt im Benutzerverzeichnis.

Code: Alles auswählen

getValueFromFileBySeparator(<key string>,<separator string>, <file name>)
D.h. ich müsste für jeden Benutzer die Variable erneut auslesen und danach weiter verarbeiten. Konkret wird die Variable in einer Files-Sektion benötigt. Ich kenne den Parameter /AllNtUserProfiles, komme aber gerade nicht dahinter wie ich beides zusammen bekomme.