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, 4504 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
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Hyper-V
Reiner Hyper- V Server oder lieber Rolle (13)

Frage von Winuser zum Thema Hyper-V ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...