Я пытаюсь полуавтоматизировать настройку файлов .sav моего Nintendo e-Reader (однако файл не обязательно должен иметь расширение .sav) с помощью пакетного скрипта. Неавтоматизированный способ, который я бы использовал, заключался бы в следующем порядке:
- Найдите файл.
- Скопируйте файл в тот же каталог, что иe-Reader (США).gba(BIOS моего Nintendo e-Reader).
- Переименуйте новую копию файла вe-Reader (США).savпоэтому он работает с программой, которую я выбрал для использования с файлом, у которой есть имя файлаvisualboyadvance-m.exe.
- Нагрузкаe-Reader (США).gbaв программе вместе с файлом, перетащивe-Reader (США).gbaв программу.
Полуавтоматический способ будет работать следующим образом:
- Откройте пакетный скрипт.
- Выберите файл.
- Скрипт копирует файл в тот же каталог, что иe-Reader (США).gba.
- Скрипт переименовывает копию файла вe-Reader (США).sav. Это новое имя файла зафиксировано в скрипте.
- Скрипт открываетсяe-Reader (США).gba, вместе с файлом.
Вот две функции, которые я хотел бы видеть в своем сценарии:
- Его можно запустить где угодно без изменений, независимо от того, находится ли эмулятор в каталоге выше или ниже по отношению к скрипту. Например, каталог выше будет выглядеть как C:\Script directory\Save directory, тогда как каталог ниже будет выглядеть как C:\Save directory\Script directory.
- Файл может находиться в другом каталоге, чем скрипт, но должен находиться в том же каталоге, что иe-Reader (США).gba.
Мой код позволяет выбрать файл в диалоговом окне и открываетe-Reader (США).gbaв программе, но не могу даже скопировать файл, вместо этого выдавая мнеСистема не может найти указанный путь.ошибка. Это тот код, который воспроизводит проблему с копированием файла и отлаживает ее, сообщая полный путь к выбранному файлу, а также текущий каталог:
@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