Wie kopiere ich eine aus einem Dateidialog ausgewählte Datei und benenne die kopierte Datei anschließend um – alles in einem Batch-Skript?

Wie kopiere ich eine aus einem Dateidialog ausgewählte Datei und benenne die kopierte Datei anschließend um – alles in einem Batch-Skript?

Ich versuche, die Einrichtung meiner Nintendo e-Reader-.sav-Dateien mithilfe eines Batch-Skripts halbautomatisch durchzuführen (die Datei muss jedoch keine .sav-Dateierweiterung haben). Die nicht automatisierte Methode, die ich verwenden würde, wäre, Folgendes in dieser Reihenfolge auszuführen:

  1. Suchen Sie eine Datei.
  2. Kopieren Sie die Datei in das gleiche Verzeichnis wiee-Reader (USA).gba(mein Nintendo e-Reader-BIOS).
  3. Benennen Sie die neue Kopie der Datei um ineReader (USA).savso dass es mit dem Programm funktioniert, mit dem ich die Datei verwenden möchte, das den Dateinamen hatvisualboyadvance-m.exe.
  4. Belastunge-Reader (USA).gbaim Programm zusammen mit der Datei durch Ziehene-Reader (USA).gbazum Programm.

Die halbautomatische Methode funktioniert, indem Sie die folgenden Schritte in dieser Reihenfolge ausführen:

  1. Öffnen Sie das Batch-Skript.
  2. Wähle eine Datei aus.
  3. Das Skript kopiert die Datei in das gleiche Verzeichnis wiee-Reader (USA).gba.
  4. Das Skript benennt die Kopie der Datei um ineReader (USA).sav. Dieser neue Name für die Datei wird im Skript festgelegt.
  5. Das Skript öffnet siche-Reader (USA).gba, zusammen mit der Datei.

Dies sind die beiden Funktionen, die mein Skript haben sollte:

  1. Es kann überall ausgeführt werden, ohne geändert zu werden, unabhängig davon, ob sich der Emulator in einem höheren oder niedrigeren Verzeichnis als das Skript befindet. Ein höheres Verzeichnis wäre beispielsweise C:\Skriptverzeichnis\Speicherverzeichnis, während ein niedrigeres Verzeichnis C:\Speicherverzeichnis\Skriptverzeichnis wäre.
  2. Die Datei kann in einem anderen Verzeichnis als das Skript liegen, muss aber im selben Verzeichnis liegen wiee-Reader (USA).gba.

Mein Code ermöglicht die Auswahl einer Datei in einem Dateidialog und öffnete-Reader (USA).gbaim Programm, kann aber die Datei nicht einmal kopieren, stattdessen bekomme ich eineDas System kann den angegebenen Pfad nicht finden.Fehler. Dies ist der Code, der das Problem beim Kopieren der Datei reproduziert und das Problem behebt, indem er den vollständigen Pfad der ausgewählten Datei und auch das aktuelle Verzeichnis angibt:

@echo off
set d="about:<input type=file id=FILE><script>FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0)</script>"
for /f "tokens=*delims=" %%p in ('mshta.exe %d%')do set "f=%%p
echo Selected file: "%f%
echo Current directory: "%cd%
copy "%f%" "e-Reader (USA).sav
start "" visualboyadvance-m.exe "e-Reader (USA).gba"
pause

verwandte Informationen