So, ich habe mit dem ROBOCOPY-Befehl gespielt und das läuft bislang perfekt.
Folgendes Batch-Skript habe ich mithilfe verschiedener Forenideen zusammengebaut. Es greift die obige Idee wieder auf, die Hex-Datei einfach auf das Icon des Skipts zu ziehen oder das Skipt per „Senden an“ zu verknüpfen.
@echo off
for %%D in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
dir %%D:\Mini.htm > nul 2>&1 && (call set ZIEL=%%D)
)
if not defined ZIEL EXIT
for /f "tokens=1,2 delims=" %%i in ("%1") do (
set "LAUFWERK=%%~di"
set "PFAD=%%~pi"
set "DATEI=%%~ni"
)
robocopy.exe %LAUFWERK%%PFAD% %ZIEL%: %DATEI%.HEX /z
@PAUSE
Das Skript leistet folgendes:
-
USB-Laufwerksbuchstabe des Calliope wird gesucht (kann ja immer mal ein anderer sein), indem er auf allen Laufwerken prüft, ob die mini.html-Datei vorhanden ist und speichert das Ergebnis in der Variablen ZIEL. Sollte kein Calliope angeschlossen sein, endet das Skript.
-
Die als Parameter übergebende Datei wird in die Bestandteile Laufwerk, Pfad und Dateiname zerlegt. Dies ist für den Robocopy-Befehl notwendig.
-
Nun folgt der Robocopy-Befehl mit den Angaben Laufwerk und Pfad der zu kopierenden Datei, Ziellaufwerk, Quelldateiname und die Option z.
-
Warten auf die Bestätigung.
Eine Ausgabe sieht nun so aus:
