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

Verschachtelte If-Abfragen

Frage Entwicklung Batch & Shell

Mitglied: bankaifan

bankaifan (Level 2) - Jetzt verbinden

07.05.2010 um 12:34 Uhr, 6980 Aufrufe, 4 Kommentare

IF AND IF in Batch

Hallo liebe Batchler,

ich hab mal wieder ne Frage bezüglich BATCH xD

Es geht um folgendes...

01.
if exist %MyLW%\docs\datas\settings\rname.bat && if exist %MyLW%\docs\datas\settings\rpass.bat (
ich will also eine doppelte if-abfrage erstellen...aber er bricht mir bei diesem code hier:

01.
if exist %MyLW%\docs\datas\settings\rname.bat && if exist %MyLW%\docs\datas\settings\rpass.bat ( 
02.
echo [1] = Raumwahl 
03.
echo [2] = Nachrichten verwalten 
04.
echo [3] = Einstellungen 
05.
echo [e] = Abbrechen 
06.
set /P W= Treffen Sie Ihre Wahl:_ 
07.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
08.
if %w%==2 call %MyLW%\docs\datas\pm.bat 
09.
if %W%==3 call %MyLW%\docs\datas\settings.bat 
10.
if %W%==e call %MyLW%\docs\start.bat 
11.
12.
if exist %MyLW%\docs\datas\settings\rname.bat ( 
13.
echo [1] = Raumwahl 
14.
echo [2] = Passwort aendern 
15.
echo [3] = Nachrichten verwalten 
16.
echo [4] = Einstellungen 
17.
echo [e] = Abbrechen 
18.
set /P W= Treffen Sie Ihre Wahl:_ 
19.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
20.
if %W%==2 call %MyLW%\docs\datas\upass.bat 
21.
if %w%==3 call %MyLW%\docs\datas\pm.bat 
22.
if %W%==4 call %MyLW%\docs\datas\settings.bat 
23.
if %W%==e call %MyLW%\docs\start.bat 
24.
25.
if exist %MyLW%\docs\datas\settings\rpass.bat ( 
26.
echo [1] = Raumwahl 
27.
echo [2] = Name aendern 
28.
echo [3] = Nachrichten verwalten 
29.
echo [4] = Einstellungen 
30.
echo [e] = Abbrechen 
31.
set /P W= Treffen Sie Ihre Wahl:_ 
32.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
33.
if %W%==2 call %MyLW%\docs\datas\urename.bat 
34.
if %w%==3 call %MyLW%\docs\datas\pm.bat 
35.
if %W%==4 call %MyLW%\docs\datas\settings.bat 
36.
if %W%==e call %MyLW%\docs\start.bat 
37.
38.
 
39.
echo [1] = Raumwahl 
40.
echo [2] = Name aendern 
41.
echo [3] = Passwort aendern 
42.
echo [4] = Nachrichten verwalten 
43.
echo [5] = Einstellungen 
44.
echo [e] = Abbrechen 
45.
echo. 
46.
set /P W= Treffen Sie Ihre Wahl:_ 
47.
if %W% == 1 call %MyLW%\docs\datas\rooms.bat 
48.
if %W% == 2 call %MyLW%\docs\datas\urename.bat 
49.
if %W% == 3 call %MyLW%\docs\datas\upass.bat 
50.
if %w% == 4 call %MyLW%\docs\datas\pm.bat 
51.
if %W% == 5 call %MyLW%\docs\datas\settings.bat 
52.
if %W% == e call %MyLW%\docs\start.bat
vllt weiß jmd ne lösung bzw. ne bessere darstellungsmöglichkeit
Mitglied: LotPings
07.05.2010 um 12:53 Uhr
In Zeile 1 einfach die bedingte Ausführung && rausnehmen, die dient der Prüfung ob der vorhergehende Befehl einen errorlevel erzeugt hat.
Bei if Bedingung folgt einfach der nächste Befehl, der nur bei wahr ausgeführt wird, der Befehl kann auch ein weiteres if sein.
Insofern gibt es nur eine And Verknüpfung die aber durch Not bzw den else Teil modifiziert werden kann.

Gruß
LotPings
Bitte warten ..
Mitglied: bankaifan
07.05.2010 um 13:24 Uhr
Danke dir, hat aber nicht so ganz geklappt wie ich wollte hab es jetzt mit If not machen müssen, damit es so klappt wie ich wollte, danke dir trotztem.

Gruß Bankaifan
Bitte warten ..
Mitglied: Biber
07.05.2010 um 14:11 Uhr
[OT]

Zitat von bankaifan:
ich will also eine doppelte if-abfrage erstellen...aber er bricht mir bei diesem code hier:

Ja, manchmal ist es wirklich zum ### mit diesen Bätchen....

Schönes Wochenende
Biber
[/OT]
Bitte warten ..
Mitglied: bankaifan
07.05.2010 um 15:56 Uhr
...ab

Es ist FAST Wochenende, also da muss ich schon Buchstaben sparen XD...

Es war ja auch nur ein "kleines" Schnipselchen" :D

Der vollständigkeithalber hier mal der "neue" Code:

01.
  
02.
:prü1 
03.
if not exist %MyLW%\docs\datas\settings\rname.bat goto :prü3 
04.
if not exist %MyLW%\docs\datas\settings\rpass.bat goto :prü2 
05.
echo [1] = Raumwahl 
06.
echo [2] = Nachrichten verwalten 
07.
echo [3] = Einstellungen 
08.
echo [e] = Abbrechen 
09.
set /P W= Treffen Sie Ihre Wahl: 
10.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
11.
if %w%==2 call %MyLW%\docs\datas\pm.bat 
12.
if %W%==3 call %MyLW%\docs\datas\settings.bat 
13.
if %W%==e call %MyLW%\docs\start.bat 
14.
goto :prü1 
15.
  
16.
:prü2 
17.
echo [1] = Raumwahl 
18.
echo [2] = Passwort aendern 
19.
echo [3] = Nachrichten verwalten 
20.
echo [4] = Einstellungen 
21.
echo [e] = Abbrechen 
22.
set /P W= Treffen Sie Ihre Wahl: 
23.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
24.
if %W%==2 call %MyLW%\docs\datas\upass.bat 
25.
if %w%==3 call %MyLW%\docs\datas\pm.bat 
26.
if %W%==4 call %MyLW%\docs\datas\settings.bat 
27.
if %W%==e call %MyLW%\docs\start.bat 
28.
goto :prü2 
29.
  
30.
:prü3 
31.
if not exist %MyLW%\docs\datas\settings\rpass.bat goto :prü4 
32.
echo [1] = Raumwahl 
33.
echo [2] = Name aendern 
34.
echo [3] = Nachrichten verwalten 
35.
echo [4] = Einstellungen 
36.
echo [e] = Abbrechen 
37.
set /P W= Treffen Sie Ihre Wahl: 
38.
if %W%==1 call %MyLW%\docs\datas\rooms.bat 
39.
if %W%==2 call %MyLW%\docs\datas\urename.bat 
40.
if %w%==3 call %MyLW%\docs\datas\pm.bat 
41.
if %W%==4 call %MyLW%\docs\datas\settings.bat 
42.
if %W%==e call %MyLW%\docs\start.bat 
43.
goto :prü3 
44.
  
45.
:prü4 
46.
echo [1] = Raumwahl 
47.
echo [2] = Name aendern 
48.
echo [3] = Passwort aendern 
49.
echo [4] = Nachrichten verwalten 
50.
echo [5] = Einstellungen 
51.
echo [e] = Abbrechen 
52.
echo. 
53.
set /P W= Treffen Sie Ihre Wahl: 
54.
if %W% == 1 call %MyLW%\docs\datas\rooms.bat 
55.
if %W% == 2 call %MyLW%\docs\datas\urename.bat 
56.
if %W% == 3 call %MyLW%\docs\datas\upass.bat 
57.
if %w% == 4 call %MyLW%\docs\datas\pm.bat 
58.
if %W% == 5 call %MyLW%\docs\datas\settings.bat 
59.
if %W% == e call %MyLW%\docs\start.bat 
60.
goto :prü4
Japp...wünsch euch auch ein schönes Wochenende und trinkt ned so viel ... falls ich am Montag wieder eines meiner Buchstabenarmen Probleme hab XD
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
C und C++
gelöst IF Abfrage funktioniert nicht mehr (2)

Frage von pablovic zum Thema C und C ...

C und C++
gelöst Fehler bei if (Csharp) (7)

Frage von homeroma zum Thema C und C ...

Windows 7
Computer OU auslesen bzw. abfragen (2)

Frage von mexx991 zum Thema Windows 7 ...

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