Parallele Verarbeitung von Batchjobs
Hallo,
es müssen mehrere Textdateien gleichzeitig verarbeitet werden, d.h. die Batchjobs parallelisiert werden. Habe mir folgendes überlegt:
Ein einzelner Batchjob/Thread wäre z.B.:
Dafür müssen aber die Dateien fortlaufend nummeriert werden: z.b. MyFile1, MyFile2 usw. Gibt's da eine andere Möglichkeit die Threads parallel laufen zu lassen ohne die Dateien fortlaufend nummerieren zu müssen?
Danke für Eure Ideen
Grüße
dedalus2011
es müssen mehrere Textdateien gleichzeitig verarbeitet werden, d.h. die Batchjobs parallelisiert werden. Habe mir folgendes überlegt:
set "worker=E:\worker.bat"
ECHO Erzeugen %2 Kopien von %1
FOR /L %%i IN (1, 1, %2) DO (
ECHO Erzeuge thread %%i
START "worker%%i" /Min %1 %%i %2
)
Ein einzelner Batchjob/Thread wäre z.B.:
setlocal enabledelayedexpansion
set "Datei=D:\MyFile%1"
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "D:\MyFile%1.txt"') do set "Zeile=%%j" && echo %%i
pause
Dafür müssen aber die Dateien fortlaufend nummeriert werden: z.b. MyFile1, MyFile2 usw. Gibt's da eine andere Möglichkeit die Threads parallel laufen zu lassen ohne die Dateien fortlaufend nummerieren zu müssen?
Danke für Eure Ideen
Grüße
dedalus2011
Please also mark the comments that contributed to the solution of the article
Content-Key: 183210
Url: https://administrator.de/contentid/183210
Printed on: April 24, 2024 at 02:04 o'clock
8 Comments
Latest comment
Hi,
Klar doch. Man wählt einfach unterschiedliche Dateinamen für die zu bearbeitenden Jobs..
Eine andere Möglichkeit wäre, ein Betriebssystem zu benutzen, das hellsehen kann. Kennst du eins? Ich nicht.
@mathe172
Gruß
Gibt's da eine andere Möglichkeit die Threads parallel laufen zu lassen ohne die Dateien fortlaufend nummerieren zu müssen?
Klar doch. Man wählt einfach unterschiedliche Dateinamen für die zu bearbeitenden Jobs..
Eine andere Möglichkeit wäre, ein Betriebssystem zu benutzen, das hellsehen kann. Kennst du eins? Ich nicht.
@mathe172
zum Beispiel, eine Datei mit den Dateinamen zu erstellen (per "dir /b" o.ä.)
Seit wann erstellt man per "dir /b" Dateien?Gruß
Kannst du ja ruhig. Ich bleibe aber trotzdem dabei, dass die Zeile im Zusammenhang mit dem "Beitrag" missverständlich ist. :-P
@TE und ollidolli:
Man könnte per
eine Datei mit den Dateinamen aller zu bearbeitenden Dateien machen (gegebenenfalls einen Filter wie z.B. *.txt einbauen)
Die Anzahl der Dateien liesse sich dann in der Hauptdatei mit
herausfinden.
In der Verarbeitungsdatei kann dann mit
[Edit: die richtige Datei gefunden werden.]
Ich hoffe es ist eindeutiger so.
MfG,
Mathe172
Man könnte per
>Dateien.txt dir /b
Die Anzahl der Dateien liesse sich dann in der Hauptdatei mit
for /f "delims=:" %%A in ('finstr /n "^" "Dateien.txt"') do set "Anzahl=%%A"
In der Verarbeitungsdatei kann dann mit
for /f "tokens=1* delims=:" %%A in ('finstr /n "^" "Dateien.txt"') do if "%%A"=="%1" set "Datei=%%B"
Ich hoffe es ist eindeutiger so.
MfG,
Mathe172