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

If im If

Frage Entwicklung Batch & Shell

Mitglied: MadMexx

MadMexx (Level 1) - Jetzt verbinden

12.03.2009, aktualisiert 10:30 Uhr, 6398 Aufrufe, 7 Kommentare, 1 Danke

-

Hallo,
Ich versuche im Moment If/else zu verschateln,
komme da aber irgentwie nicht weiter.
In eurer datenbank habe ich nur gefunden
das man If verschateln kann aber nur ein Else haben darf.
Stimmt das?
Mitglied: ITwissen
12.03.2009 um 10:46 Uhr
Vielleicht
Bitte warten ..
Mitglied: bastla
12.03.2009 um 10:53 Uhr
Hallo MadMexx und willkommen im Forum!

Der Detailgrad der von ITWissen gegebenen Antwort entspricht annähernd dem Deiner Fragestellung - falls Du es daher etwas konkreter wissen wolltest ...

Übrigens bin ich ziemllich verwundert, dass Du in unserer Datenbank überhaupt etwas zum doch eher seltenen Thema "verschateln" gefunden hast ...

Grüße
bastla
Bitte warten ..
Mitglied: hpbruns
12.03.2009 um 10:54 Uhr
Hallo MadMexx

Prinzipiell wäre es noch nützlich, wenn Du noch ein paar Eckdaten mitliefern würdest.
Welche Sprache Du zum Beispiel verwendest.

Aber zum eigentlichen Problem. Bei den meisten Programmiersprachen gibt es ein Konstrukt was da lautet:

If irgenwas verglichen mit etwas anderem Then
MachWas
Else
MachWasAnderes
End If

Das lässt sich erweitern um:

If irgenwas verglichen mit etwas anderem Then
MachWas
Else If nochwas verglichen mit etwas anderem Then
MachWasAnderes
Else
MachWiederWasAnderes
End IF

Das lässt sich aber nicht unendlich verschachteln.
Wenn man jetzt wüsste, was Du speziell machen möchtest und in welcher Sprache lönnte man Dir besser helfen.

Vielleicht hilft Dir bei Deinem Problem ein

Select Case HierHabeIchEinenWert
Case DerWertIstX
MachWas
Case DerWertIstY
MachWasAnderes
Case DerWertIstZ
MachWasGanzAnderes
Case Else
MachDochNix
End Select

Hilfreich ist auch, nach dem Befehl incl. Programmiersprache zu googeln (z.B. "Vb.Net Select Case") oder mal ein Blick in die Hilfe zu werfen.

Gruß

HaPe
Bitte warten ..
Mitglied: Destry
12.03.2009 um 12:20 Uhr
Hallo MadMexx,

ich kann Dir ein Beispiel für eine DOS-Batch geben.
Bitteschön:

if Variable==Vergleichswert (1. IF / JA-Klammer) else (if Variable==Vergleichswert (2. IF / JA-Klammer) else (2. IF / NEIN-Klammer))

So sähe es "leer" aus:

if... () else (if... () else ())


Wichtig:
- Unbedingt auf alle Klammern achten.
- Die Klammer nach dem ersten "else" ist auch die NEIN-Klammer des ersten if-Befehles, usw..

Wird noch verwirrender um so mehr Du verschachtelst.

Beispiel:
3fach if:
if... () else (if... () else (if... () else ()))
4fach if:
if... () else (if... () else (if... () else (if... () else (if... () ))))

usw.

Wie tief Du verschachteln kannst weiss ich nicht.
Lesbarer wird der Spass dadurch auch nicht.

Gruss,
Destry
Bitte warten ..
Mitglied: MadMexx
13.03.2009 um 09:49 Uhr
IN BATCH!
Ich möchte gerne wissen wie man verschatelte Klammern in einer If/else an weißung macht.
Ich möchte in einer if/else Anweißung 2 weiter if/elseAnweißungen erstellen.
Beispiel:

If %a%==%b% (
if %b%==%c% (
echo %a% %b% %c% ist alles gleich
) else (
echo %a% %b% %c% ist nicht das gleiche. )
) else (
if %b%==%c% (
%a% ist verschieden zu %b% und %c%
) else (
%a% %b% %c% ist nicht das gleiche.
)
Wäre nett wenn ihr mit das beantworten könntet.
So andere Frage:

Kann man in einer if anweisung rechenen?

Beispiel:
set a=4
set count=1
If %a%==%count%+3 (
echo ja
) else (
echo nein )
pause >nul
Das habe ich nicht hinbekomemn das count in der If anweißung erhöht wird.


So das wars erstmal
ich bin Danke für eure Antworten.
mfg MadMexx
Bitte warten ..
Mitglied: bastla
13.03.2009 um 12:34 Uhr
Hallo MadMexx!

Sollte so gehen:
01.
if "%a%"=="%b%" ( 
02.
    if "%b%"=="%c%" ( 
03.
        echo %a% %b% %c% ist alles gleich 
04.
    ) else ( 
05.
        echo %a% %b% %c% ist nicht das gleiche. 
06.
07.
) else ( 
08.
    if "%b%"=="%c%" ( 
09.
        echo %a% ist verschieden zu %b% und %c% 
10.
    ) else ( 
11.
        echo %a% %b% %c% ist nicht das gleiche. 
12.
13.
)
Kann man in einer if anweisung rechenen?
Nein - das musst Du vorher machen:
01.
set a=4 
02.
set count=1 
03.
set /a vergleich=%count%+3 
04.
If %a%==%vergleich% ( 
05.
    echo ja 
06.
) else ( 
07.
    echo nein 
08.
09.
pause >nul
Grüße
bastla
Bitte warten ..
Mitglied: red-eye
31.12.2012 um 05:05 Uhr
Hi zusammen!

Bitte ärgert Euch nicht allzusehr, daß ein Frischling einen alten Diskussionsfaden hervorholt, aber ich habe bei meiner Recherche über DOS-Befehle und Batch-Programmierung in den letzten 48 Stunden so viele exzellente Tipps in diesem Forum entdeckt, daß ich mich einfach mal richtig bedanken möchte.

Ich möchte mein C-Laufwerk regelmäßig manuell mit dem U-Netzlaufwerk synchronisieren, da ich nicht immer auf U zugreifen kann. Unsere Admins gestehen uns an den beruflich genutzten Notebooks fast keine Rechte zu und liefern kein Synchronisationsprogramm. Sie waren aber so leichtsinnig, mir DOS-Befehle offiziell zu erlauben, weil sie nicht mit der Mächtigkeit von DOS und mit der Zähigkeit eines Users rechneten.

Also habe ich eine kleine Synchronisations-Routine basierend auf Robocopy in einer Batchdatei programmiert. Zuerst lasse ich mir anzeigen, ob die Laufwerke vorhanden sind, die ich synchronisieren möchte. Dann vergleiche ich die Verzeichnisse mit "robocopy /l". Zuletzt synchronisiere ich, entweder einschließlich Löschens aller Dateien, die im Zielverzeichnis überschüssig sind, oder nicht.

Herzlichen Dank also für diesen und viele weitere hilfreiche Beiträge!

Grüße,
red-eye
(der sich nun endlich schlafen legen kann ...)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...