Kleine Batchfiles sind immer wieder praktisch um schnell kleinere Probleme zu lösen. Diesmal stelle ich ein paar Dateien vor, die zum Erstellen und Kopieren verschiedener Dateien eingesetzt werden können. Dies ist z.B. Hilfreich wenn man die Transfergeschwindigkeit testen möchte. Das eingesetzte Robocopy zeigt am Ende die durchschnittliche Geschwindigkeit an.
Zuerst zwei Batchdateien, um eine Menge kleiner Dateien bzw. eine große Datei zu generieren:
2000 kleine 30 KByte Dateien erzeugen:
Dateiname: smallfiles.cmd
@echo off del smallfile.txt md smallfiles for /l %%a in (1,1,8000) do ( echo 10 >> smallfile.txt ) for /l %%a in (1,1,2000) do ( copy smallfile.txt smallfiles\%%a.bin )
Als nächstes ein Skript zum Erstellen einer beliebig großen Datei: (einfach irgendwann abbrechen)
Dateiname: largefile.cmd
echo 10 > largefile.bin :start type largefile.bin >> largefile.bin goto start
Dann das erste Skript zum Transferieren der Dateien
Aufruf: Transfer.cmd ZielRechnername
md \\%1\c$\temp copy transfer.cmd \\%1\c$\temp rd /s /q \\%1\c$\temp\smallfiles%2 rd /s /q \\%1\c$\temp\largefile%2 robocopy /w:0 /r:0 /NP /NFL /NDL c:\temp\smallfiles \\%1\c$\temp\smallfiles%2 robocopy /w:0 /r:0 /NP /NFL /NDL c:\temp\largefile <a href="file://\\%1\c$\temp\largefile%2">\\%1\c$\temp\largefile%2</a>
Es kopiert zuerst die kleinen Dateien per Robocopy und nach die große Datei.
Möchte man mehrere Kopierjobs parallel starten, dann ist das nächste Skript nützlich:
Aufruf: Mutlitransfer.cmd ZielRechnername AnzahlParallelerJobs
for /l %%a in (1,1,%2) do ( start "Transfer %%a" transfer.cmd %1 %%a )