Um beispielsweise nach einem Download alle heutigen Dateien in eine zu packen (aggregieren), kann folgendes Batch-Script verwendet werden:
:: delete old aggregation file
del /q main.txt
:: delete all files from tmp folder
del /q .\tmp\*
:: get current date
for /f "tokens=1,2" %%u in ('date /t') do set d=%%v
set timestr=%d:~0,2%-%d:~3,2%-%d:~6,4%
:: collect new files with current date (today) in temporary folder
XCOPY * .\tmp\ /D:%timestr% /Y
:: append new files to file main.txt
for /f "delims=" %%x in ('dir /od /a-d /b .\tmp\*') do type %%x >>main.txt
Hierbei wird erstmal die Aggregations-Datei main.txt sowie der Inhalt des tmp-Ordners geloescht. Danach werden mit dem heutigem Datum als Parameter per xcopy die neuen dateien in den tmp-Ordner kopiert. Der Inhalt des tmp-Ordners wird dann in chronologischer Reihenfolge per append in die Aggregationsdatei main.txt geschrieben.
Responses to “Batch Script: merge recent files”