saveTextFile

Antworten
dkerber
Beiträge: 2
Registriert: 05 Dez 2017, 17:23

saveTextFile

Beitrag von dkerber »

Hallo

Ich habe ein Problem mit der Funktion "saveTextFile".
Die Aufgabe besteht darin in der Datei "c:\prj\license.init" den String "SERVERNAME" durch den Rechnernamen zu ersetzen.
Der Codeausschnitt:

Code: Alles auswählen

[Actions]
DefStringList $list1$ 
DefStringList $list2$ 
DefVar $servername$
DefVar $line$
DefVar $result$

set $list1$ = loadTextFile("c:\prj\license.init")
set $line$ = ""
for %s% in $list1$ do sub_replace_servername
set $result$ = saveTextFile($list2$, "c:\prj\license.init")

[sub_replace_servername]
set $list2$ = addtolist($list2$, stringReplace("%s%","SERVERNAME",$servername$))
Führt zu folgendem Fehler:
saveTextFile($list2$, "c:\prj\license.init") illegal String Expressionstr

Verwunderlich ist, dass der "Simple ScriptEditor v3.0" keine Syntaxhilfe zu "saveTextFile" anbietet. Die Alternative "SaveValueToFile" führt zur gleichen Fehlermeldung.

Kann jemand helfen?
andré
Beiträge: 324
Registriert: 07 Jan 2014, 10:48

Re: saveTextFile

Beitrag von andré »

Probiere es doch mal mit PatchTextFile. Du kannst die enstprechende Stelle im Textfile suchen und löschen und anschließend deine gewünschte Variante einfügen.

https://download.uib.de/opsi4.0/doc/htm ... chtextfile
dkerber
Beiträge: 2
Registriert: 05 Dez 2017, 17:23

Re: saveTextFile

Beitrag von dkerber »

ok das funktioniert. Vielen Dank.

Code: Alles auswählen

[Actions]
DefVar $servername$
DefVar $MinimumSpace$

set $servername$ = EnvVar("COMPUTERNAME")
PatchTextFile_license "c:\prj\license.init"

[PatchTextFile_license]
FindLine_Containing  "SERVERNAME"
DeleteTheLine
InsertLine "ServerIpList $servername$"
SaveToFile "c:\prj\license.init"
Antworten