Batch-Syntax
Hallo Zusammen
Ich habe ein ganz kleines, Simples Batch-File geschrieben, dass mir ein Programm installieren soll, wenn es nicht bereits vorhanden ist und anschliessend einen Registrierungsschlüssel einfügt:
Nur aus einem seltsamen Grund erkennt es das ELSE-Statement nicht als Befehl an. Vermutlich ist es nur ein Syntaxfehler, aber irgendwie finde ich trotzdem dafür keine Lösung.
Wo liegt der Schreibefehler?
Besten Dank für eure Auskunft.
Gruss
gabeBU
Ich habe ein ganz kleines, Simples Batch-File geschrieben, dass mir ein Programm installieren soll, wenn es nicht bereits vorhanden ist und anschliessend einen Registrierungsschlüssel einfügt:
set key= "HKLM\SOFTWARE\WOW6432Node\G Data\AVKClient\"
IF EXIST "C:\Program Files (x86)\G Data\AVKClient\GdAgentUi.exe" (exit /b)
ELSE(C:\Users\g_buehler\Desktop\GDClientPck.exe /@_QuietInstallation="true" /@SelectedLanguage="DE" /@HostName=hostname /@GroupName="RAUSE02")
REG IMPORT C:\Users\g_buehler\desktop\gdata.reg
Nur aus einem seltsamen Grund erkennt es das ELSE-Statement nicht als Befehl an. Vermutlich ist es nur ein Syntaxfehler, aber irgendwie finde ich trotzdem dafür keine Lösung.
Wo liegt der Schreibefehler?
Besten Dank für eure Auskunft.
Gruss
gabeBU
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 394506
Url: https://administrator.de/contentid/394506
Ausgedruckt am: 25.11.2024 um 19:11 Uhr
1 Kommentar
Naja, einfacher Blick in die Doku hätte auch gereicht ...
https://ss64.com/nt/if.html
https://ss64.com/nt/if.html
When combining an ELSE statement with parenthesis, always put the parenthesis on the same line as ELSE.
) ELSE ( This is because CMD does a rather primitive one-line-at-a-time parsing of the command.
IF EXIST "C:\Program Files (x86)\G Data\AVKClient\GdAgentUi.exe" (exit /b) ELSE (C:\Users\g_buehler\Desktop\GDClientPck.exe /@_QuietInstallation="true" /@SelectedLanguage="DE" /@HostName=hostname /@GroupName="RAUSE02")
REG IMPORT C:\Users\g_buehler\desktop\gdata.reg