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
Dabei 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

Dabei seit
13.04.2007
Beiträge
720
Ort
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

Dabei seit
26.07.2006
Beiträge
6.025
Ort
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

Dabei seit
13.04.2007
Beiträge
720
Ort
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
Dabei 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

Dabei seit
26.07.2006
Beiträge
6.025
Ort
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
Dabei 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

Dabei seit
07.10.2008
Beiträge
51
Alter
28
Ort
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

Probleme bei Leerzeichen im Pfad: dSource muss ein Pfad mit einem Abstand sein -> G:\Meine Ablage\git-backup Geht nicht: @echo on setlocal ENABLEDELAYEDEXPANSION set...
Einzelnen Ordner verschieben per Batch-Datei: Hallo, ich habe eine Frage zu den verschieben von Ordnern mithilfe einer Batch-Datei. Sprich ich will z.B., dass in einem Ordner, wo mehrere...
Windows Ordner "Eigene Dateien" nach Pfad Änderung und Verschieben immer wieder doppelt vorhanden: Hallo zusammen! Ich habe eine Frage und möchte Euch eine langjährige unliebsame Situation schildern. Ein neues Notebook mit...
SYSTEM RESERVED: Guten Tag, ich habe einen Laptop von Acer, gekauft 2012, wieder in Betrieb genommen. Die wichtigsten technischen Daten: Aspire 7750G, RAM 4 GB...
Was ist FUB.bat und FUB_Send.bat: Hallo Community, bei mir blitzt immer wieder unter Windows 10 64 Bit ein Command Window auf, das aber so schnell verschwindet, dass man es nicht...
Oben