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

Printed on: October 9, 2024 at 15:10 o'clock

137846
Solution 137846 Dec 03, 2018 updated at 08:48:29 (UTC)
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