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

In Batch-Skript Bedingungen verknüpfen

Frage Entwicklung Batch & Shell

Mitglied: eccos01

eccos01 (Level 1) - Jetzt verbinden

17.02.2011 um 17:38 Uhr, 6627 Aufrufe, 5 Kommentare

Hallo,

ich möchte 2 If-Abfragen miteinander verknüpfen...
Bedingung: Wenn die Variable %VAR01% nicht definiert ist ODER die Datei "%ANW_PFAD%\dateiname.bsp" nicht existiert, dann "echo tu dies und das".

Wie kann man das in einer Anweisung (ohne geschachtelte IF-Anweisungen) schreiben?
Also nicht so:
if not defined VAR01 (
echo tu dies und das
) else (
if not exist "%ANW_PFAD%\dateiname.bsp" (
echo tu dies und das
)
)
Mitglied: Biber
17.02.2011 um 18:53 Uhr
Moin eccos01,

du kannst es bestenfalls andersherum formulieren
01.
if defined VAR01 if exist "%ANW_PFAD%\dateiname.bsp" ( 
02.
echo tuAllesPrimaPart 
03.
  ) else ( 
04.
        echo tu dies und das 
05.
)
...wobei ich das für Augenwischerei halte.
Denn du wirst nicht "tu dies und das" ausführen, wenn [Variable nicht existiert ODER Datei fehlt].
Sondern wirst ja auch in der Fehlermeldung/Fehlerbehandlung GENAU darauf Bezug nehmen, was nun das Problem ist ("Variable nicht definiert"/"Datei nicht gefunden")

Dem entsprechend käme in der Praxis auch wieder heraus.
01.
if defined VAR01 if exist "%ANW_PFAD%\dateiname.bsp" ( 
02.
echo tuAllesPrimaPart 
03.
  ) else ( 
04.
        if not exist "%ANW_PFAD%\dateiname.bsp" echo Datei nicht gefunden! 
05.
        if not defined VAR01 echo variable VAR01 Datei nicht gesetzt! 
06.
        pause & goto :eof 
07.
)

Grüße
Biber
Bitte warten ..
Mitglied: pieh-ejdsch
17.02.2011 um 22:01 Uhr
moin Biber,

ich hab ja auch grad meine Testwochen.
im zweiten wird doch Zeile 05 Niemals ge-echo-t. Die else Klausel bezieht sich doch nur auf die Zweite if Klausel.
oder wartes Du auf Feedback vom TO

Gruß Phil
Bitte warten ..
Mitglied: Biber
18.02.2011 um 09:23 Uhr
Moin pieh-ejdsch,

jepp, hast Recht... ich habe mich auch blenden lassen von der optischen Ästhetik der Klammern.
Die spiegeln leider nicht die tatsächliche Struktur der Programmlogik wieder.

Besser (oder zumindest funktionierender) wäre vielleicht
01.
if defined VAR01 if exist "%ANW_PFAD%\dateiname.bsp" goto :AllesPrima 
02.
 
03.
if not exist "%ANW_PFAD%\dateiname.bsp" echo Datei nicht gefunden! 
04.
if not defined VAR01 echo variable VAR01 Datei nicht gesetzt! 
05.
 pause & goto :eof 
06.
 
07.
:AllesPrima 
08.
::hier kann das Programm tun, was ein Programm halt tun muss
Grüße
Biber
Bitte warten ..
Mitglied: eccos01
18.02.2011 um 11:58 Uhr
Zitat von Biber:
Moin pieh-ejdsch,

jepp, hast Recht... ich habe mich auch blenden lassen von der optischen Ästhetik der Klammern.
Die spiegeln leider nicht die tatsächliche Struktur der Programmlogik wieder.

Besser (oder zumindest funktionierender) wäre vielleicht
01.
> if defined VAR01 if exist "%ANW_PFAD%\dateiname.bsp" goto :AllesPrima 
02.
>  
03.
> if not exist "%ANW_PFAD%\dateiname.bsp" echo Datei nicht gefunden! 
04.
> if not defined VAR01 echo variable VAR01 Datei nicht gesetzt! 
05.
>  pause & goto :eof 
06.
>  
07.
> :AllesPrima 
08.
> ::hier kann das Programm tun, was ein Programm halt tun muss 
09.
> 
Grüße
Biber

Das echo sollte nur ein Beispiel sein. Letztendlich muß ich nicht unterscheiden sondern lasse nur eine bestimmte verarbeitung aus... setze also nur 2 delete-kommandos und ein goto dort rein.

Wäre es denn möglich sowas (als Negation mit ODER) zu realisieren?
Bitte warten ..
Mitglied: pieh-ejdsch
18.02.2011 um 13:09 Uhr
Wäre es denn möglich sowas (als Negation mit ODER) zu realisieren?

Nein! Du kannst es mit if Probieren aber es wird nicht gehen, da if keinen Errorlevel ausgibt.
Der Befehl wird ja auf jedenfall ausgeführt.
Befehlsverkettung mit && || greift nur im sinne von: die Befehlssyntax ist Fehlerhaft.

was zum spielen:
if 0 == 1 echo Nein 
echo %errorlevel%
(aus diesem und/oder anderen Gründen hab ich es auch noch nicht hinbekommen eine Ausgabe einer Batch in eine Eingabe einer anderen Batch zu bekommen!)

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Windows 7
gelöst Batch-Skript oder VBS Skript zum Sichern von Office Vorlagen (2)

Frage von Ceejaay zum Thema Windows 7 ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (37)

Frage von freshman2017 zum Thema VB for Applications ...

Windows 10
gelöst Hilfe beim Batch Skript (13)

Frage von WinLiCLI zum Thema Windows 10 ...

Batch & Shell
Batch Skript erweitern (1)

Frage von michi-ffm zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (18)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

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

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...