gabebu
Goto Top

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:

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

Content-ID: 394506

Url: https://administrator.de/contentid/394506

Ausgedruckt am: 25.11.2024 um 19:11 Uhr

137846
Lösung 137846 03.12.2018 aktualisiert um 09:48:29 Uhr
Goto Top
Naja, einfacher Blick in die Doku hätte auch gereicht ...
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