Hi,

sry erstmal zum Titel, aber mir ist nix besseres eingefallen.

Ich mache gerade JustForFun ein BatchScript, das meine Hostsdatei (für einen Silrkoad Privat Server) Patcht.

Wenn keine HostsDatei vorhanden ist, fragt es, ob es eine erstellen soll. Wenn man N eingibt, also Nein, fragt es, ob man das Patchen abbrechen will.

Hier liegt mein Problem:
@echo off
echo ## Suche nach Hosts-Datei ...
If NOT Exist %systemroot%\system32\drivers\etc\hosts goto create
:create
SET /P create=Die Hosts-Datei existiert nicht. Wollen Sie eine Neue erstellen? (j/n):

IF "%create%"=="" (
ECHO Nichts eingegeben
GoTo :create
)
IF /I "%create%"=="J" (
ECHO Erstelle ...
copy hosts %systemroot%\system32\drivers\etc\hosts && type hosts
) ELSE (
IF /I "%create%"=="N" (
SET /P exit=Wollen Sie das Patch-Programm beenden? (j/n):
If /I "%exit%"=="N" (
goto create
) ELSE (
exit
)
)
) ELSE (
ECHO Sie müssen J oder N eingeben
)
)
pause
Da das ROT markierte ja in den Klammern des IF steht, wird die Klammer zu bei (j/n): für das Vorherige IF verwendet, und der folgende Doppelpunkt als SyntaxError.
Ich würde gerne der ) seine Funktion entnehmen. Geht das?

[EDIT] Mir kam gerade die Idee einfach mit :Label und goto zu arbeiten. Wenn das mit dem "Nutzlosmachen" nicht gehen sollte, werde ich das dann warscheinnlich so machen[/EDIT]


Gruß

florian0

PS: Hier gab es dochmal diesen BatchViren generator von BerlinerMauer oder so. Da hab ich mir immer dran orientiert (bis ich den falschen Knopf gedrückt habe, und die Batch geöffnet habe).
Hat jemand vielleicht noch einen Download Link?