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

2 Forschleifen hintereinander

Frage Entwicklung Batch & Shell

Mitglied: Dipps

Dipps (Level 2) - Jetzt verbinden

07.04.2010, aktualisiert 11:01 Uhr, 4453 Aufrufe, 11 Kommentare

2 Forschleifen hintereinander

Hallo ich bin gerade dabei eine batch zu schreiben wo ich 2 for schleifen hintereinander brauche

im normalen soll es so aussehen

string out="programm.exe new.mp4"

for(i=6;i<=18;i++) für Stunden
{
for(j=0;j<=59;j++)
für Minuten
{
if(j<10)
j="0"+j;
out=out+" -cat \\server\freigabe\tag\"+i +"\video"+j+".mp4";
}

}

nachher
echo out > newjob.bat
oder die out Variable direkt ausführen.

mein code ist der zeit so
01.
set out ="mp4box.exe day.mp4" 
02.
for /L %%i in (6 1 18) do for %%j in (0 1 59) do if %%j <10 do %%j=0+%%j %out%=%out%+" - cat ftp://server/share/201000406/"+%%i"/video"+%%j+".mp4" 
03.
  
04.
echo %out% >newjob.bat
leider funktioiert das nicht
Mitglied: Snowman25
07.04.2010 um 11:14 Uhr
Hallo Dipps,

01.
set out="mp4box.exe day.mp4" 
02.
for /L %%i in (6,1,18) do ( 
03.
	for /L %%j in (0,1,59) do ( 
04.
		if /I %%j GTR 10 ( 
05.
			set /a j=0+%%j 
06.
			set out="%out% cat ftp://server/share/201000406/%%i/video%%j.mp4" 
07.
			echo %out%>>newjob.bat 
08.
09.
10.
)
ungetestet aber korrigiert
Bitte warten ..
Mitglied: Biber
07.04.2010 um 11:20 Uhr
Moin Dipps,

wenn ich dich richtig verstanden haben sollte, dann müssten die beiden Zählschleifen wie folgt aufgebaut sein.
Beispiel am CMD-Prompt:
>for /L %i in (6 1 18) do @for /L %j in (0 1 59) do @if %j LSS 10 @(echo [bla]\%i\video0%j.mp4) else @echo [bla]\%i\video%j.mp4 
[bla]\6\video00.mp4 
[bla]\6\video01.mp4 
[bla]\6\video02.mp4 
[bla]\6\video03.mp4 
[bla]\6\video04.mp4 
[bla]\6\video05.mp4 
[bla]\6\video06.mp4 
[bla]\6\video07.mp4 
[bla]\6\video08.mp4 
[bla]\6\video09.mp4 
[bla]\6\video10.mp4 
.... 
[bla]\18\video54.mp4 
[bla]\18\video55.mp4 
[bla]\18\video56.mp4 
[bla]\18\video57.mp4 
[bla]\18\video58.mp4 
[bla]\18\video59.mp4
Die einzugebende Zeile ist die erste, das ">" nicht mit eingeben, das ist mein Prompt.
Im Batch dann wieder zwei Prozentzeichen vor den Laufvariablen; alles verteilen auf ein paar Zeilen mehr und natürlich statt des proof-of-concept-Blas wieder den ganzen "ftp.//"-Zirkus.

Die Skizze soll nur das Schleifenkonstrukt zeigen.

Grüße
Biber
Bitte warten ..
Mitglied: Dipps
07.04.2010 um 11:32 Uhr
als ausgabe kommt immer nur
01.
" - cat ftp://server/share/201000406/18/video59.mp4"
sonst sieht es ja schon gut aus
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 11:39 Uhr
setlocal enabledelayedexpansion 
for /L %%i in (6,1,18) do ( 
	for /L %%j in (0,1,59) do ( 
		if /I %%j GTR 10 ( 
			echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video%%j.mp4>>newjob.bat 
)
so funktionierts bei mir
wenn ich über doe %out% gehen wollte, bekam ich letztendlich immer nur einen leeren String bzw. das Startvalue. egal ob mit oder ohne delayedExpansion..

Greetz
Snow
Bitte warten ..
Mitglied: Dipps
07.04.2010 um 12:57 Uhr
Danke das funktioiert so weit super nun habe ich festgestellt das i auch noch eine 0 brauch wenn es kleiner 10 ist wie kann ich das den dann noch machen?
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 13:05 Uhr
Zitat von Dipps:
Danke das funktioiert so weit super nun habe ich festgestellt das i auch noch eine 0 brauch wenn es kleiner 10 ist wie kann ich
das den dann noch machen?

quick'n 'dirty:
01.
setlocal enabledelayedexpansion  
02.
for /L %%i in (6,1,18) do (  
03.
	for /L %%j in (0,1,59) do (  
04.
		if /I %%j GTR 10 (  
05.
			echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video%%j.mp4>>newjob.bat  
06.
07.
		if /I %%j EQU 0 ( 
08.
			echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video%%j.mp4>>newjob.bat  
09.
10.
	)  
11.
)
Bitte warten ..
Mitglied: Dipps
07.04.2010 um 13:37 Uhr
nee ich meinte wenn bei %%i=6 ist schreibt er jetzt ..../6/..... doch er soll ..../06/.... schreiben
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 13:46 Uhr
ach das sollte dein eigenartiges Konstrukt im Startpost sein...
01.
setlocal enabledelayedexpansion  
02.
for /L %%i in (6,1,18) do (  
03.
	for /L %%j in (0,1,59) do (  
04.
		if /I %%j GTR 10 (  
05.
			if /I %%i LSS 10 ( 
06.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/0%%i/video%%j.mp4>>newjob.bat 
07.
			) else ( 
08.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video%%j.mp4>>newjob.bat 
09.
10.
11.
	)  
12.
)
Auszug:
mp4box.exe day.mp4 cat ftp://server/share/201000406/09/video57.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/09/video58.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/09/video59.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video11.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video12.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video13.mp4
passt so?
Bitte warten ..
Mitglied: Dipps
07.04.2010 um 14:51 Uhr
fast. und %%j auch noch aber das hatte ich vorhin schon angepasst
das heisst

%%i < 10 = 0und %%i
%%j < 10 = 0und %%j

so das .../06/video03.mp4 auch möglich sein soll.
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 15:00 Uhr
so, jetzt aber endgültig:
01.
@Echo off 
02.
setlocal enabledelayedexpansion 
03.
for /L %%i in (6,1,18) do ( 
04.
	for /L %%j in (0,1,59) do ( 
05.
		if /I %%j GEQ 10 ( 
06.
			if /I %%i LSS 10 ( 
07.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/0%%i/video%%j.mp4>>newjob.bat 
08.
			) else ( 
09.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video%%j.mp4>>newjob.bat 
10.
11.
		) else ( 
12.
			if /I %%i LSS 10 ( 
13.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/0%%i/video0%%j.mp4>>newjob.bat 
14.
			) else ( 
15.
				echo mp4box.exe day.mp4 cat ftp://server/share/201000406/%%i/video0%%j.mp4>>newjob.bat 
16.
17.
18.
19.
)
Auszug:
mp4box.exe day.mp4 cat ftp://server/share/201000406/09/video58.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/09/video59.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video00.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video01.mp4 
mp4box.exe day.mp4 cat ftp://server/share/201000406/10/video02.mp4
greetz
Snow
gibts eigentlich keine bessere Variante, Überwachungsvideos oder ähnliches zu übertragen??
Bitte warten ..
Mitglied: Dipps
07.04.2010 um 15:43 Uhr
Vielen Dank so klappt es super.
Danke Danke
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...