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, 9930 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
Peripheriegeräte

APC Smart-UPS 750 VA - Batterie vorzeitig defekt ?

Frage von IT-AlexanderPeripheriegeräte3 Kommentare

Guten Abend, heute im Laufe des Tages tauchte folgendes Probem mit einer APC USV auf: die USV piept alle ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 1 TagHumor (lol)5 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 2 TagenSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 2 TagenWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 2 TagenAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft25 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...

Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
VM wächst schnell von 14 auf 35 GB an - warum?
Frage von degudejungWindows 1018 Kommentare

Hallo, ich bin ein Freund schlanker VMs und setze daher gerne mit dem Erscheinen einer neuen Win10 Version - ...

Internet
Google-Suchergebnisse, Schnelleinblendung, woher kommt der Inhalt?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Ich bin der Systembetreuer einer kleinen Gemeinde in Süddeutschland. Wir betreiben auch eine Leihbücherei. Eine Kundin hat letzten ...