Top-Themen

Aktuelle Themen (A bis Z)

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

for Schleife vorzeitig beenden?

Mitglied: Multimania

Multimania (Level 1) - Jetzt verbinden

24.10.2006, aktualisiert 13:38 Uhr, 9817 Aufrufe, 5 Kommentare

[Edit] Beitrag nach wochenlanger Stagnation geschlossen 13.11.2006 [/Edit Biber]

Hallo,

iich habe eine for Schleife die für jede Zeile in einer Datei einen Befehl ausführt.
Nun möchte ich aber gerne das nur die ersten 4 Zeilen verwendet werden bzw. die Schleife nach der 4. Zeile geschlossen wird.

for /f %%a IN (test.txt) DO (
befehl %%a
)

kann mir jemand helfen?

Danke.
Mitglied: Biber
24.10.2006 um 11:26 Uhr
Moin Multimania,

eine der Möglichkeiten wäre so.
01.
::-ExitLoopDemo.bat 
02.
@echo off & setlocal & set /a "Ln=1000" 
03.
for /f "delims=" %%a IN (test.txt) DO call:Do4Times %%a 
04.
:Do4Times [Parameter1: eine Zeile aus Datei 
05.
set /a Ln+=1 
06.
if %Ln% GTR 1004 goto ExitLoop 
07.
Echo [%ln:~-3%] %* 
08.
goto :eof 
09.
:exitloop 
10.
:: ...ggf ...weitere Befehle 
11.
:: ....
Gruß
Biber
Bitte warten ..
Mitglied: Multimania
24.10.2006 um 12:45 Uhr
Hallo,

danke für die schnelle Antwort, ich habe es probiert aber ich habe scheinbar vergessen zu sagen das die for Schleife bereits in einer for Schleife steckt und das dann mit der Sprungmarke nicht funktioniert.

hier etwas mehr Quelltext.

for /f %%a IN (a.txt) DO (
for /f %%b IN (b.txt) DO (
befehl %%a %%b
)
)


Danke.
Bitte warten ..
Mitglied: Biber
24.10.2006 um 13:15 Uhr
Na ja, Multimania,

dann würde ich die Strategie davon abhängig machen, ob in der Datei b.txt die ersten 4 von Zeilen oder die ersten 4 von 100000 Zeilen gelesen sollen.

Im ersten Fall (4 vom 10 Zeilen) würde die Sprungmarke dann schlicht "goto :eof", also verlasse den CALL-Block lauten. Oder aber in der äußeren Schleife die innere FOR-Anweisung nur aufrufen, wenn %Ln% kleiner 4.

Im zweiten Fall (nur die ersten 4 Zeilen eines riesigen Logfiles) würde ich entweder per Batch erstmal die ersten 4 Zeilen in eine Datei %temp%\c.txt kopieren und mit dieser weiterarbeiten.

Oder (dieselbe Mimik, aber professioneller) die ersten vier Zeilen mit einem head.exe/header.exe-Utility oder halt einem VBS-Schnipsel extrahieren.

Gruß
Biber
Bitte warten ..
Mitglied: Multimania
24.10.2006 um 13:21 Uhr
deinem ersten Fall kann ich leider nicht fogen

Fall 2 verstehe ich, bin noch auf der suche ...
Bitte warten ..
Mitglied: Biber
24.10.2006 um 13:38 Uhr
01.
::--------Fall A nochmal im ganzen Satz.... 
02.
@echo off & setlocal & set /a "Ln=1000" 
03.
for /f "delims=" %%a IN (a.txt) DO ( 
04.
   for /f "delims=" %%b IN (b.txt) DO call:Do4Times "%%a" "%%b" 
05.
06.
 
07.
:Do4Times [Parameter1: eine Zeile aus Datei 
08.
set /a Ln+=1 
09.
if %Ln% GTR 1004 ( 
10.
     set /a "ln=1000"  & goto :eof 
11.
12.
Echo oder Befehl [%ln:~-3%] "%~1" "%~2" 
13.
REM Parameter 1 enthält %%a, also Zeile aus Datei a.txt;  
14.
REM Parameter 2 enthälz %%b, also eine Zeile aus b.txt 
15.
goto :eof
Gruß
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch: in Schleife prüfen ob ein Prozess läuft und diesen beenden

Frage von blacksunBatch & Shell10 Kommentare

Hallo, ich möchte gerne prüfen ob ein bestimmter Prozess gestartet ist. Wenn ja, dann soll dieser und noch ein ...

Batch & Shell

Batch Schleife als FOR-SCHLEIFE

gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Microsoft Office

Vereinfachen einer Schleife

Frage von Jens1975Microsoft Office1 Kommentar

Hallo, ich bin neu und versuche mich jetzt mit VBA Ich möchte die Funktion Autofill durch eine Schleife ersetzen. ...

Entwicklung

PowerShell - Schleifen

gelöst Frage von 119785Entwicklung8 Kommentare

Hallo Leute, ich habe hier eine Aufgabe und brauche mal einen kleinen Tip. Entweder habe ich eine Denkbloacke oder ...

Neue Wissensbeiträge
Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 1 StundeVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner3 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1023 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
gelöst Frage von Marcel1989Datenbanken19 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Windows Server
Remote Desktop Services User Profile Disk - DFS
Frage von einzelkindWindows Server16 Kommentare

Hallo Miteinander, ich richte gerade eine neue RDS Farm auf Basis von Windows Server 2016 ein. Von Server 2012 ...