Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch-Datei stürzt ab

Frage Entwicklung Batch & Shell

Mitglied: stefreak

stefreak (Level 1) - Jetzt verbinden

06.02.2007, aktualisiert 20:19 Uhr, 7815 Aufrufe, 6 Kommentare

Nach einer Usereingabe stürzt die Batch-Datei einfach ab. Ich benutze Windows XP

Hallo, ich hoffe ihr könnt mir helfen.

Ich programmiere gerade eine Batch-Datei für einen Freund - Das ist eigentlich meine erste Batch Datei. Die Datei soll die hosts datei ändern, damit man LineAge auf einem der inoffiziellen Server spielen kann. Das Script soll alles vereinfachen. Bei der Nachfrage, ob die hosts Datei wiederhergestellt werden soll und bei der Antwort "y" stürzt mein Script einfach ab.
Ich würde mich über eine Lösung sehr freuen.

Hier das Script:
01.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
02.
::              IP Helper fuer LineAge II                  :: 
03.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
04.
:: Copyright (C) 2007 Steffen Neubauer  computer-brain.net :: 
05.
::               Lizenz: GNU GPL v2 only                   :: 
06.
:: Achtung! Der Autor dieses Scripts haftet in keinem Fall :: 
07.
:: fuer Schaeden an Hadware oder Software an diesem        :: 
08.
:: Computer ausgeloest durch die Benutzung dieses Scripts! :: 
09.
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  
10.
@echo off 
11.
echo BEGINN LOG > log.txt 
12.
echo Achtung! Der Autor dieses Scripts haftet in keinem Fall fuer Schaeden an Hadware oder Software an diesem Computer ausgeloest durch die Benutzung dieses Scripts! 
13.
Pause 
14.
IF not exist "%windir%\system32\drivers\etc\hosts" goto FEHLER 
15.
echo Alles Klar! Ich beginne. 
16.
Pause 
17.
echo hosts-datei exisitiert >> log.txt 
18.
copy "%windir%\system32\drivers\etc\hosts" "%windir%\system32\drivers\etc\hosts_sicherung" >> log.txt 
19.
SET /P IP=IP-Adresse eingeben ...  
20.
echo   >> %windir%\system32\drivers\etc\hosts 
21.
echo %IP%    l2authd.lineage2.com >> %windir%\system32\drivers\etc\hosts 
22.
echo Die IP wurde in die hosts-datei geschrieben >> log.txt 
23.
echo !DAS PROGRAMM DARF KEINESFALLS GESCHLOSSEN WERDEN! 
24.
echo Ich starte nun LineAge II. 
25.
IF not exist "C:\Programme\Lineage II\system\L2.exe" goto HAND 
26.
CALL "C:\Programme\Lineage II\system\L2.exe" 
27.
echo LineAge II gestartet. >> log.txt 
28.
Pause 
29.
goto DANACH 
30.
 
31.
 
32.
:HAND 
33.
    echo Bitte starte LineAge2 nun von Hand. Duecke erst eine beliebige Taste, wenn du fertig bist mit spielen. Beende dieses Script auf keinen Fall selbstständig! 
34.
    echo LineAge II von Hand gestartet. >> log.txt 
35.
    Pause 
36.
 
37.
 
38.
:DANACH 
39.
    echo Nun solltest du LineAge II gespielt haben. 
40.
    Pause 
41.
 
42.
:DANACHDANACH 
43.
    SET /P LOESCHEN=Moechtest du, dass die hosts-datei wiederhergestellt wird? (y/n) ...  
44.
    IF %LOESCHEN% = "y" GOTO DANACH-Y 
45.
    IF %LOESCHEN% = "n" GOTO DANACH-N 
46.
    echo Bitte gib entweder y (Ja) oder n (Nein) an. 
47.
    Pause 
48.
    goto DANACHDANACH 
49.
 
50.
 
51.
:DANACH-Y 
52.
    echo ich stelle die hosts-Datei nun wieder her. 
53.
    IF not exist %windir%\system32\drivers\etc\hosts_sicherung goto FEHLERFEHLER 
54.
    DEL %windir%\system32\drivers\etc\hosts 
55.
    COPY %windir%\system32\drivers\etc\hosts_sicherung %windir%\system32\drivers\etc\hosts 
56.
    DEL %windir%\system32\drivers\etc\hosts_sicherung 
57.
    echo Wiederherstellung war erfolgreich. 
58.
    Pause 
59.
    goto ENDE 
60.
     
61.
 
62.
:DANACH-N 
63.
    goto ENDE 
64.
 
65.
 
66.
:FEHLER 
67.
    echo Die hosts-Datei konnte nicht gefunden werden. 
68.
    echo Die hosts-Datei konnte nicht gefunden werden. >> log.txt 
69.
    goto ENDE 
70.
 
71.
:FEHLERFEHLER 
72.
    echo Fehler. Ich kann die Datei nicht wiederherstellen. 
73.
    echo Wiederherstellen der hosts-Datei fehlgeschlagen. >> log.txt 
74.
    Pause 
75.
    goto ENDE 
76.
 
77.
:ENDE 
78.
    echo ENDE LOG >> log.txt 
79.
    echo Danke, dass du mich verwendet hast. Copyright (C) 2007 Steffen Neubauer - www.computer-brain.net - GNU GPL v2 only 
80.
    Pause
Danke!

MfG
Stefreak
Mitglied: uemmel
06.02.2007 um 16:30 Uhr
du logst doch alles schön mit, was steht denn dadrin, nachem dein Batch abgestürzt ist. Die letzte Zeile müsste die ja noch den letzten erfolgreichen Schritt preisgeben und dann kann man näher suchen.

Wenn du "n" eingibst, läuft es dann durch
Bitte warten ..
Mitglied: Biber
06.02.2007 um 16:51 Uhr
Moin stefreak,

willkommen im Forum.
Für eine "erste" Batchdatei sehr ordentlich... *anmerk
(Rein handwerklich - soll kein moralischer Freifahrtschein für oder gegen LineAge sein).

Hier ist der eine oder andere Bug:
JETZT:
01.
     IF %LOESCHEN% = "y" GOTO DANACH-Y 
02.
     IF %LOESCHEN% = "n" GOTO DANACH-N
Besser:
01.
 :: der Schalter /i ist unwesentlich... nur für Ignoriere KleinGrossSchreibung 
02.
    IF /i "%LOESCHEN%" == "y" GOTO DANACH-Y 
03.
    IF /i "%LOESCHEN%" == "n" GOTO DANACH-N
Wesentlich sind die Delimiter (in Deinem Fall Anführungszeichen, die auf beiden Seiten des doppelten Vergleichs-Gleichheitszeichens da sein sollten.

IF /i [%LOESCHEN%] == [y] GOTO.... --> ginge genauso.

Gruss
Biber

P.S. "Hadware" ...sprecht ihr aber erstaunlich weich aus in Eurem Club...
Bitte warten ..
Mitglied: miniversum
06.02.2007 um 17:30 Uhr
Was heißt den das die Batch "abstürzt"? Hast du sie den schonmal vom cmd aus ausgeführt? vielleicht siehst du dan mehr.
Du kannst ja zum Debugen mal das @echo off weglassen das du siehst was passiert. Oder altenativ immerwieder infos in eine Zweite log schreiben wo es gerade steht. Theoretisch reichen hier Zahlenwerte und es reicht ja wenn dus auf den Bereich einschränkst indem der Fehler auftrit. Da kansn tdu dann sogar Zeilenweise immer mitloggen wo es gerade steht und auch bei jedem Befehl eventuelle Fehlermeldungen beim löschen oder koppieren mit 2>> mitprotokollieren. Das funktionier grundsätzlich bei allen Batches zum Fehler suchen gut.

miniversum
Bitte warten ..
Mitglied: stefreak
06.02.2007 um 19:37 Uhr
Für eine "erste" Batchdatei
sehr ordentlich... *anmerk
Danke, habe aber auch etwas Erfahrung in anderen Sprachen wie Basic, Python, PHP und lerne grade Java, C, C++ .... Batch war da ein Klacks
(Rein handwerklich - soll kein moralischer
Freifahrtschein für oder gegen LineAge
sein).
Ich verstehe zwar nicht was du damit meinst, aber das ist ja auch unwichtig...

Hier ist der eine oder andere Bug:
JETZT:
01.
     IF %LOESCHEN% = 
02.
> "y" GOTO DANACH-Y 
03.
>      IF %LOESCHEN% = "n" GOTO 
04.
> DANACH-N 
05.
> 
Besser:
01.
 :: der Schalter /i ist 
02.
> unwesentlich... nur für Ignoriere 
03.
> KleinGrossSchreibung 
04.
>     IF /i "%LOESCHEN%" == 
05.
> "y" GOTO DANACH-Y 
06.
>     IF /i "%LOESCHEN%" == 
07.
> "n" GOTO DANACH-N 
08.
> 

Das hat geholfen DANKE!!!

Wesentlich sind die Delimiter (in Deinem
Fall Anführungszeichen, die auf beiden
Seiten des doppelten
Vergleichs-Gleichheitszeichens da sein
sollten.

IF /i [%LOESCHEN%] == [y] GOTO....
--> ginge genauso.

Gruss
Biber

SUPER! Danke!

MfG
Stefreak


P.S. "Hadware" ...sprecht ihr aber
erstaunlich weich aus in Eurem Club...



Das verstehe ich wieder nicht ;)
Bitte warten ..
Mitglied: Biber
06.02.2007 um 20:02 Uhr
Das verstehe ich wieder nicht ;)
Na ja,

ich kann es einfach weiter hier stehen lassen zum gelegentlichen Knobeln... eilt ja nicht.

Da ich denke, dass das eigentliche Syntax-Problem erkannt und erledigt ist, können wir den Beitrag schließen (Also Du auf "Gelöst", ich auf "Geschlossen" setzen)?

Schönen Abend
Biber
Bitte warten ..
Mitglied: stefreak
06.02.2007 um 20:19 Uhr
Wer Interesse hat: Da ist das release

http://www.computer-brain.net/LineAgeII%20IP%20Helper.zip


MfG
Stefreak
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...