Syntaxfehler bei IF

Diskutiere Syntaxfehler bei IF im Programmierung Forum im Bereich Software Forum; Hey. Ich möchte ein Programm schreiben, welches lesbare Dateien aus einem bestimmtem beschädigten Laufwerk wiederherstellt. Das ist mein...
G

Ghostleader

Threadstarter
Mitglied seit
15.09.2009
Beiträge
9
Hey.
Ich möchte ein Programm schreiben, welches lesbare Dateien aus einem bestimmtem beschädigten Laufwerk wiederherstellt.
Das ist mein Quelltext:

@Echo off
title Recover
cls

Echo In welchem beschaedigten Laufwerk moechten sie lesbare Dateien wiederherstellen?
Echo Bitte geben sie den Laufwerk Buchstaben an. Moeglichkeiten: [C:\, D:\, E:\, F:\]
Echo.

set /P %Pfad%=

if %Pfad%"=="C:\" goto LaufwerkC
if %Pfad%"=="D:\" goto LaufwerkD
if %Pfad%"=="E:\" goto LaufwerkE
if %Pfad%"=="F:\" goto LaufwerkF

:LaufwerkC
call LC.bat
goto Fertig

usw.

Ich habe natürlich auch eine LC.bat usw.
Ich bekomme jedesmal beim Starten einen Syntaxfehler.
Kann mir da jemand helfen?
 
Schard

Schard

Mitglied seit
13.04.2007
Beiträge
720
Standort
Hannover
Versuchs mit
Code:
if "%Pfad%"=="C:\" goto LaufwerkC
if "%Pfad%"=="D:\" goto LaufwerkD
if "%Pfad%"=="E:\" goto LaufwerkE
if "%Pfad%"=="F:\" goto LaufwerkF
 
HaraldL

HaraldL

Mitglied seit
26.07.2006
Beiträge
5.817
Standort
Niederbayern
Genau. Und zwischen die IF-Zeilen und :LaufwerkC würde ich noch irgendwas in der Art einfügen:

echo Falsche Eingabe!
goto Fertig

sonst wenn einer "Hä?" eintippt läufst du trotzdem in LaufwerkC rein wenn keines der IFs zutrifft.
 
Schard

Schard

Mitglied seit
13.04.2007
Beiträge
720
Standort
Hannover
...Also sowas
Code:
@Echo off
title Recover
cls

Echo In welchem beschaedigten Laufwerk moechten sie lesbare Dateien wiederherstellen?
Echo Bitte geben sie den Laufwerk Buchstaben an. Moeglichkeiten: [C:\, D:\, E:\, F:\]
Echo.

:LoopInput
set /P %Pfad%=

if "%Pfad%"=="C:\" goto LaufwerkC
if "%Pfad%"=="D:\" goto LaufwerkD
if "%Pfad%"=="E:\" goto LaufwerkE
if "%Pfad%"=="F:\" goto LaufwerkF
Echo Falsche Eingabe
goto LoopInput

:LaufwerkC
call LC.bat
goto Fertig
In bash wäre sowas viel einfacher...
SCNR
 
G

Ghostleader

Threadstarter
Mitglied seit
15.09.2009
Beiträge
9
Egal was ich für ein Verzeichnis angebe es kommt mir meinem Quelltext (inden ich all das was ihr gesagt habt reingepackt habe) "Falsche Eingabe" ?!
 
HaraldL

HaraldL

Mitglied seit
26.07.2006
Beiträge
5.817
Standort
Niederbayern
Ähem, habe es auch übersehen da ist noch ein Fehler: In der Zeile mit "set /P" darfst du keine(!) Prozentzeichen um "Pfad" machen, also

set /P Pfad=

und du mußt vermutlich bei der Eingabe den Laufwerksbuchstaben groß schreiben, ich würde vermutlich jede IF-Zeile mehrfach aufführen, z.b.

if "%Pfad%"=="C:\" goto LaufwerkC
if "%Pfad%"=="c:\" goto LaufwerkC
if "%Pfad%"=="C:" goto LaufwerkC
if "%Pfad%"=="c:" goto LaufwerkC
if "%Pfad%"=="C" goto LaufwerkC
if "%Pfad%"=="c" goto LaufwerkC

if "%Pfad%"=="D:\" goto LaufwerkD
if "%Pfad%"=="d:\" goto LaufwerkD
...
 
G

Ghostleader

Threadstarter
Mitglied seit
15.09.2009
Beiträge
9
jetzt klappt alles. Nur wenn der Befehl recover C:\...
der wird irgendwie nicht ausgeführt
das programm schließt sich einfach?!
 
L

Luddi

Mitglied seit
07.10.2008
Beiträge
51
Alter
25
Standort
NRW
Bei der Eingabe "C:\" sollte dann ja eigentlich "call LC.bat" ausgeführt werden.
Wenn das nicht funktioniert, dann probier das ersteinmal mit einer LC.bat mit Inhalt:"echo klappt" o.Ä.
und prüfe, ob die überhaupt im gleichen verzeichnis liegen :D
Andererseits schilder dein Problem bitte genauer.
 
Thema:

Syntaxfehler bei IF

Syntaxfehler bei IF - Ähnliche Themen

  • Syntaxfehler? - Excel und VBA

    Syntaxfehler? - Excel und VBA: Hallo Community, hier habe ich wohl ein einfaches Problem, was ich trotz Suche und gefundenen Beispielen nicht hinkriege. Wo finde ich eine...
  • Ähnliche Themen

    • Syntaxfehler? - Excel und VBA

      Syntaxfehler? - Excel und VBA: Hallo Community, hier habe ich wohl ein einfaches Problem, was ich trotz Suche und gefundenen Beispielen nicht hinkriege. Wo finde ich eine...
    Oben