USB, Windows 11 und Windows 10

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:

  1. 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.

  2. Die als Parameter übergebende Datei wird in die Bestandteile Laufwerk, Pfad und Dateiname zerlegt. Dies ist für den Robocopy-Befehl notwendig.

  3. Nun folgt der Robocopy-Befehl mit den Angaben Laufwerk und Pfad der zu kopierenden Datei, Ziellaufwerk, Quelldateiname und die Option z.

  4. Warten auf die Bestätigung.

Eine Ausgabe sieht nun so aus:

2 „Gefällt mir“