Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
GELÖST

For Schleife unterbrechen und wieder starten.

Frage Entwicklung Batch & Shell

Mitglied: tkline

tkline (Level 1) - Jetzt verbinden

14.05.2008, aktualisiert 15.05.2008, 4837 Aufrufe, 4 Kommentare

Hi Leute, hab mal wieder eine tricky Aufgabe für euch,

Hab folgendes Batchfile geschrieben:
01.
for /f "tokens=1,2 delims=/ " %%A in (datei.dat) do (App1 -u=test -p=test1 -g=ads -Jahre=%%A -Alter=%%B -Check=All -debug > %%A_%%B_Summe.txt)
Erläuterung:
Damit lasse ich diverse Einträge aus der Datei "datei.dat" auslesen und starte ein Programm App1.
So weit so gut. Ich möchte nun dieses Skript nach ca. 20 Durchläufen unterbrechen, um
ein anderes batchfile (batch2.bat) auszuführen. Sobald batch2 ausgeführt ist, soll das script
dann wieder weiterlaufen. Nach weiteren 20mal soll das ganze dann wiederholt werden...usw.

Die Batch2.bat kann auch parallel aufgerufen werden, das erste batchfile muss nicht unbedingt unterbrochen werden.
Allerdings soll Batch2 erst dann aufgerufen werden, wenn das obere Skript 20 mal durchlaufen wurde.

Habt ihr eine Idee?
Wär super


Grüße
Tom
Mitglied: sp00ner
14.05.2008 um 17:29 Uhr
Hi,

kenn mich mit Batch-Programmierung nicht so gut aus, das Verfahren dass du beschreibst, hört sich aber nach der modulo-Operation an.

zaehler i = 0

for(;;){

i = i + 1

if ( i % 20 == 0){
starte batch2
}

}

modulo gibt den restwert zurück, also ist i % 20 = 0 erfüllt, wenn i gleich 20, 40 usw. ist

hoffe das hilft dir und du kannst modulo in batch überhaupt verwenden
Bitte warten ..
Mitglied: bastla
14.05.2008 um 17:34 Uhr
Hallo tkline!

Ungetestet etwa so:
01.
@echo off & setlocal 
02.
set /a Zeile=0 
03.
for /f "tokens=1,2 delims=/ " %%A in (datei.dat) do call :ProcessLine "%%A" "%%B" 
04.
goto :eof 
05.
 
06.
:ProcessLine 
07.
App1 -u=test -p=test1 -g=ads -Jahre=%~1 -Alter=%~2 -Check=All -debug > %~1_%~2_Summe.txt 
08.
set /a Zeile+=1 
09.
if %Zeile% lss 20 goto :eof 
10.
set /a Zeile=0 
11.
call batch2.bat 
12.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: Biber
14.05.2008 um 19:35 Uhr
Moin alle,

.... wobei mir nur als Fussnote zu sagen bleibt, dass es sinnvoll sein könnte, wenn der Batch2 mindestens einmal läuft,
auch wenn es nur insgesamt 19 Dateien sind oder eben 99.
Denn in diesen Fällen würden die letzten 19 Dateien ja nie den Genuss kommen, von Batch2 nachbehandelt zu werden.
Ich würde also vor dem ersten "goto :eof" noch eine Zeile einfügen:
01.
IF %Zeile% GTR 0 call Batch2.bat
[Vorteil: Dann kannst Du auch das Testen der Funktionalität mit nur 3 Testdateien oder weniger machen...]

Grüße
Biber
Bitte warten ..
Mitglied: tkline
15.05.2008 um 10:36 Uhr
Perfekt.
Hat einwandfrei funktioniert.

Was wär ich ohne euch...
Fettes Merci!

Greets
TOM
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
Sporadisches Unterbrechen der Netzwerkverbindung (5)

Frage von Taumel zum Thema Netzwerkmanagement ...

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 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(1)

Information von DerWoWusste zum Thema Microsoft ...

Humor (lol)

Wohnt jemand in Belgien und kann nicht mehr ruhig ausschlafen?

(6)

Information von LordGurke zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (19)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

TK-Netze & Geräte
TK-Anlage VoIP - DECT Erweiterung (15)

Frage von Lynkon zum Thema TK-Netze & Geräte ...