배치 스크립트를 사용하여 Nintendo e-Reader .sav 파일(단, 파일 확장자가 .sav일 필요는 없음) 설정을 반자동화하려고 합니다. 내가 사용하는 자동화되지 않은 방법은 다음을 순서대로 수행하는 것입니다.
- 파일을 찾으세요.
- 파일을 다음과 같은 디렉터리에 복사합니다.e-Reader(미국).gba(내 Nintendo e-Reader BIOS).
- 파일의 새 복사본 이름을 다음으로 바꿉니다.e-Reader(미국).sav그래서 파일 이름이 다음과 같은 파일을 사용하기로 선택한 프로그램에서 작동합니다.Visualboyadvance-m.exe.
- 짐e-Reader(미국).gba프로그램에서 파일과 함께 드래그하여e-Reader(미국).gba프로그램에.
반자동 방식은 다음 순서로 수행하여 작동합니다.
- 배치 스크립트를 엽니다.
- 파일을 선택하세요.
- 스크립트는 파일을 다음과 같은 디렉터리에 복사합니다.e-Reader(미국).gba.
- 스크립트는 파일 복사본의 이름을 다음으로 바꿉니다.e-Reader(미국).sav. 파일의 새 이름은 스크립트에 고정됩니다.
- 스크립트가 열립니다e-Reader(미국).gba, 파일과 함께.
내 스크립트에 바라는 두 가지 기능은 다음과 같습니다.
- 에뮬레이터가 스크립트의 상위 디렉터리에 있든 하위 디렉터리에 있든 관계없이 어디에서나 수정 없이 실행할 수 있습니다. 예를 들어 상위 디렉터리는 C:\Script 디렉터리\Save 디렉터리와 같고 하위 디렉터리는 C:\Save 디렉터리\Script 디렉터리와 같습니다.
- 파일은 스크립트와 다른 디렉터리에 있을 수 있지만 스크립트와 동일한 디렉터리에 있어야 합니다.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