Примеры использования bat файлов:
Создание патча:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "original.sfc" (echo [ERROR] original.sfc not found! & pause & exit /b 1)
if not exist "modified.sfc" (echo [ERROR] modified.sfc not found! & pause & exit /b 1)
echo Creating patch...
"PC.exe" create "original.sfc" "modified.sfc" "patch.ips"
if !ERRORLEVEL! EQU 0 (echo [OK] Patch created: patch.ips) else (echo [ERROR] Failed!)
pause
Применение патча:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "original.sfc" (echo [ERROR] original.sfc not found! & pause & exit /b 1)
if not exist "patch.ips" (echo [ERROR] patch.ips not found! & pause & exit /b 1)
echo Applying patch...
"PC.exe" apply "patch.ips" "original.sfc" "output.sfc"
if !ERRORLEVEL! EQU 0 (echo [OK] Result: output.sfc) else (echo [ERROR] Failed!)
pause
Пакетное создание патчей:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "Original" mkdir "Original"
if not exist "Modified" mkdir "Modified"
if not exist "Patches" mkdir "Patches"
set /a OK=0
set /a FAIL=0
for %%F in ("Modified\*.sfc") do (
if exist "Original\%%~nxF" (
"PC.exe" create "Original\%%~nxF" "%%F" "Patches\%%~nF.ips"
if !ERRORLEVEL! EQU 0 (set /a OK+=1) else (set /a FAIL+=1)
) else (
echo [SKIP] %%~nxF - no original
set /a FAIL+=1
)
)
echo Done: !OK! OK, !FAIL! failed
pause
Пакетное применение патчей:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "Patched" mkdir "Patched"
set /a OK=0
set /a FAIL=0
for %%F in ("Patches\*.ips") do (
set "ORIG="
if exist "Original\%%~nF.sfc" set "ORIG=Original\%%~nF.sfc"
if exist "Original\%%~nF.nes" set "ORIG=Original\%%~nF.nes"
if exist "Original\%%~nF.gba" set "ORIG=Original\%%~nF.gba"
if defined ORIG (
"PC.exe" apply "%%F" "!ORIG!" "Patched\%%~nF_patched.sfc"
if !ERRORLEVEL! EQU 0 (set /a OK+=1) else (set /a FAIL+=1)
) else (
echo [SKIP] %%~nF.ips - no original
set /a FAIL+=1
)
)
echo Done: !OK! OK, !FAIL! failed
pause
Мод установки перевода:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
echo Russian Translation Installer v1.0
echo Required: Game (Japan).nes
echo.
set /p OK="Continue? (Y/N): "
if /i not "%OK%"=="Y" exit /b 0
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "Game (Japan).nes" (echo [ERROR] ROM not found! & pause & exit /b 1)
echo Creating backup...
copy "Game (Japan).nes" "Game (Japan).nes.bak" >nul
echo Applying patch...
"PC.exe" apply "translation.ips" "Game (Japan).nes" "Game (Russian).nes"
if !ERRORLEVEL! EQU 0 (echo [OK] Done! Run Game (Russian).nes) else (
echo [ERROR] Failed! Restoring backup...
copy "Game (Japan).nes.bak" "Game (Japan).nes" >nul
)
pause
Перетаскивание файла *.ips на файл *.bat:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if "%~1"=="" (echo Drag an .ips file onto this script! & pause & exit /b 1)
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
echo Patch: %~nx1
set /p ROM="Enter original ROM path: "
"PC.exe" apply "%~1" "%ROM%" "patched_output.sfc"
if !ERRORLEVEL! EQU 0 (echo [OK] Result: patched_output.sfc) else (echo [ERROR] Failed!)
pause
Ещё один пример простого скрипта:
CODE:@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
if not exist "PC.exe" (echo [ERROR] PC.exe not found! & pause & exit /b 1)
if not exist "base.sfc" (echo [ERROR] base.sfc not found! & pause & exit /b 1)
if not exist "patch.ips" (echo [ERROR] patch.ips not found! & pause & exit /b 1)
if exist "final.sfc" del "final.sfc"
"PC.exe" apply "patch.ips" "base.sfc" "final.sfc"
if !ERRORLEVEL! EQU 0 (
echo [OK] Build complete: final.sfc
if not exist "Release" mkdir "Release"
copy "final.sfc" "Release\" >nul
) else (
echo [ERROR] Build failed!
)
pause
----- Я не волшебник - я только учусь... |