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
Please also mark the comments that contributed to the solution of the article
Content-ID: 394506
Url: https://administrator.de/contentid/394506
Printed on: October 9, 2024 at 15:10 o'clock
1 Comment
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