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

Mehrere Schleifen verlassen

Frage Entwicklung Batch & Shell

Mitglied: 84544

84544 (Level 1)

20.02.2010, aktualisiert 22:32 Uhr, 3391 Aufrufe, 3 Kommentare

Ich habe folgendes Problem. Und zwar habe ich mehrere call's und for-Schleifen in einer Batchdatei.
Und zwar werden die Schleifen nie richtig beendet habe ich so im Gefühl.

Deshalb möchte ich sozusagen die Schleife "vollständig" beendet und mit dem nächsten fortfahren.

zum Beispiel (funktioniert so in einer bat):
Das Programm wählt von 10 Servern zufällig einen raus, der erreichbar ist und setzt ihn in einer Variable.

AM BESTEN wäre wenn hier jemand weis wie man einzelne Teile einer große BATCH sozusagen als eine kleine BATCH behandeln kann.

:neutest
set /a r=%random%%%10+1
for /f "tokens=%r%" %%p in ('echo server1, server2, server3, server4, ......') do for %%i in (%%p) do set "server=%%i" & call :checkserver

:checkserver
ping -n 1 -w 1 %server% | find /i "TTL=" && (set var=%server) && goto naechstes || (goto neutest)
goto :eof

:naechstes
.........

Wie kann ich die FOR-Schleife "vollständig" beenden? Oder was ich auch noch wissen wollte, ob und wie kann ich das zusammenfassen?

for ....... do (
ping usw.
)
Das klappt leider nicht....


PS: Ich will keinen Counter drin haben... und das sollte zufällig bleiben. Mit Counter das könnte ich selbst.
Mitglied: bastla
20.02.2010 um 23:06 Uhr
Hallo Marci3xXx!

Ungetestet etwa so:
01.
:neutest 
02.
set /a r=%random%%%10+1 
03.
set "var=" 
04.
for /f "tokens=%r%" %%p in ("server1 server2 server3 server4 .....") do ping -n 1 -w 1 %%p | find /i "TTL=">nul && set "var=%%p" 
05.
if not defined var goto :neutest 
06.
.....
Grüße
bastla
Bitte warten ..
Mitglied: 84544
23.02.2010 um 15:03 Uhr
Ich habs jetzt anders gemacht.....

call :erstens
call :zweitensa
call :zweitensb
call :drittens
.....
exit

:erstens
for .................. call: intern1
:intern1
code bla
goto :eof


:zweitensa
for .................. call: intern2
:intern2
code bla
goto :eof

:zweitensb
for .................. call: intern2
:intern3
code bla
goto :eof

usw.


Klappt soweit ganz gut. Ich habe dann immer nur eine Schleife pro call gemacht
Bitte warten ..
Mitglied: bastla
23.02.2010 um 17:57 Uhr
Hallo Marci3xXx!
Klappt soweit ganz gut.
Freut mich.

Was war das Problem mit meinem Ansatz?

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst While Schleife mit mehreren Arrays (2)

Frage von Markus2016 zum Thema Batch & Shell ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
gelöst Fehler in Schleife (2)

Frage von miczar zum Thema Batch & Shell ...

Batch & Shell
For Schleife in einer .sh Datei (4)

Frage von CrystalFlake zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...