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

gelöst For Schleife nach der X. Ausführung einen anderen Befehl aufrufen

Mitglied: majcho

majcho (Level 1) - Jetzt verbinden

09.01.2012 um 15:07 Uhr, 4754 Aufrufe, 6 Kommentare

Hallo,

würde gerne eine Schleife 80 mal ausführen, bis dann ein ein weiterer Befehl erfolgt. Kann mir jemand eine Lösung sagen?

Hier mein Versuch, der allerdings nicht nach dem 80. Aufruf die Funktion batch2.bat sondern alle Dateien ausführt und dann die Schleife endlos wiederholt.

01.
set numb=1 
02.
 
03.
:start 
04.
FOR /F "tokens=1,2" %%i in ('type dateien.txt') do ( 
05.
if %numb%==80 goto batch2 
06.
set /a numb +=1 
07.
IF NOT EXIST %%i curl -o %%i %%j ) 
08.
 
09.
:batch2 
10.
call batch2.bat 
11.
goto start
Mitglied: Skyemugen
09.01.2012 um 15:11 Uhr
Aloha,

hmm soso er führt also kein goto aus einer Schleife heraus aus? Ja, sowas ... eventuell mal in unserem Tutorial zur FOR-Schleife vorbeischauen, die dir dann auch erklärt, dass das auch nicht realisierbar ist.

Ich würde wenn dann eher zu
if %numb%==80 call batch2.bat && goto :eof tendieren aber du willst wohl danach nochmal 80 Durchgänge oder wie oder was? du kannst natürlich auch deine Hauptschleife in eine for /L %%s in (1,1,80) legen, jeder wie er's mag.

greetz André
Bitte warten ..
Mitglied: Pjordorf
09.01.2012 um 15:12 Uhr
Hallo,

Zitat von majcho:
01.
02.
03.
04.
> :batch2 
05.
> call batch2.bat 
06.
> goto start 
07.
> 
Warum ist dort ein goto start drin?

Gruß,
Peter
Bitte warten ..
Mitglied: majcho
09.01.2012 um 15:28 Uhr
Das ist die Lösung

01.
for /L %%s in (1,1,80)
Danke!!!
Bitte warten ..
Mitglied: icsat
09.01.2012 um 15:47 Uhr
Zitat von majcho:
Hier mein Versuch, der allerdings nicht nach dem 80. Aufruf die Funktion batch2.bat sondern alle Dateien ausführt und dann
die Schleife endlos wiederholt.

Hallo majcho,

hast Du Dir die Ausgabe Deines Codes mal angesehen?

Warum endet die Schleife nicht nach Versuch 80?
Das Problem ist imho nicht das der goto in der For-Schleife nicht funktioniert, sondern dass Du immer "1" mit "80" vergleichst, da auf die Variable "numb" erst nach Beendigung der For-Schleife mit neuem Inhalt zugegriffen werden kann. Du kannst das umgehen, in dem Du "SETLOCAL EnableDelayedExpansion" verwendest und die Variable in der For-Schleife mit "!numb!" ansprichst. Details dazu stehen bestimmt in einem der guten Batch Tutorials.

Aber ich gebe Skyemugen recht, dass ich hier auch kein goto verwenden würde.

Warum wird die Schleife endlos wiederholt?
01.
goto start

Gruß icsAT
Bitte warten ..
Mitglied: majcho
09.01.2012 um 15:53 Uhr
@ skymugen & icsat

Danke für die Infos. Bin Frischling und daher noch nicht so weit um mit Rookis mitzuhalten. Deshalb meine Frage. Das mit der For /L %%s in (1,1,80) hilft mir schon weiter die Schleife zu verstehen. Habe das ausprobiert. Leider keine Ahnung wie ich aus der 80. Umrundung wieder rauskomme, die dateien.txt umfasst 2400 Dateien, nach jeder 80. Ausführung soll batch2.bat aufgerufen werden.

01.
for /L %%s in (1,1,80) do ( 
02.
call batch2.bat 
03.
FOR /F "tokens=1,2" %%i in ('type dateien.txt') do ( 
04.
IF NOT EXIST %%i curl -o %%i %%j  
05.
06.
)
Bitte warten ..
Mitglied: icsat
09.01.2012 um 16:34 Uhr
Nun verarbeitest Du die Datei "dateien.txt" 80 mal und zwar vollständig ;-( Vor jedem vollständigen Verarbeiten wird batch2 aufgerufen.

Da es nun eine neue Anforderung gibt:
Zitat von majcho:
die dateien.txt umfasst 2400 Dateien, nach jeder 80. Ausführung soll batch2.bat aufgerufen
werden.
Das "...nach jeder..." war bisher bei mir nicht angekommen, daher würde ich Deinen Ursprungsansatz weiter verfolgen:
01.
SETLOCAL EnableDelayedExpansion 
02.
set numb=0 
03.
 
04.
FOR /F "tokens=1,2" %%i in (dateien.txt) do ( 
05.
   set /a numb +=1 
06.
   if "!numb!"=="80" ( 
07.
      set numb=0 
08.
      call batch2.bat 
09.
10.
   if not exist %%i curl -o %%i %%j 
11.
12.
 
13.
ENDLOCAL 
14.
 
15.
goto :eof
Gruß icsAT
Bitte warten ..
Ähnliche Inhalte
Entwicklung

Mit welchem Befehl kann ich in einer if schleife in Batch

gelöst Frage von JanInfoHDEntwicklung1 Kommentar

Mit welchem Befehl kann ich in einer if schleife in Batch dem Computer sagen das wenn die eingabe nicht ...

Batch & Shell

Powershell Funktion X innerhalb von Funktion X aufrufen

gelöst Frage von MarabuntaBatch & Shell1 Kommentar

Hi, Ich konnte es jetzt nicht nachstellen. So funktioniert alles gut. Wenn ich aber einige Male falsche Werte eintrage ...

Windows 7

Batch Datei erzeugt bei jedem Befehl Schleife

gelöst Frage von FrashdWindows 72 Kommentare

Moin, wir haben Windows 7 prof. in einer Domäne. Ich habe eine Batch Datei geschrieben, die die Netzlaufwerke verbindet ...

Batch & Shell

Cmd Befehle in Powershell GUI aufrufen

gelöst Frage von Markus2016Batch & Shell5 Kommentare

Hallo zusammen, ich brauche etwas Hilfe. In meiner erstellten GUI möchte ich ein paar Funktionen mit cmd Befehlen aufrufen. ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 21 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++24 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...