バッチでランチャーを作りました。
なんか
WASDです。
コード
@echo off
setlocal enabledelayedexpansion
set /a line3=111, line2=111, line1=111, x=100, y=3
for /L %%i in (1,1,9) do set "f%%if="
call splendidnesssave.bat
:loop
set /a queue1=!line1!, queue2=!line2!, queue3=!line3!
if !y! equ 1 set /a queue1=!line1! + !x!
if !y! equ 2 set /a queue2=!line2! + !x!
if !y! equ 3 set /a queue3=!line3! + !x!
cls
for %%i in (queue3 queue2 queue1) do (
set "tmp=!%%i!"
for /f "delims=" %%A in ("!tmp!") do (
set "display=%%A"
set "display=!display:2=@!"
set "display=!display:1=.!"
echo !display!
)
)
set "s=n"
set "f1=!queue3:~-3,1!"
set "f2=!queue3:~-2,1!"
set "f3=!queue3:~-1,1!"
set "f4=!queue2:~-3,1!"
set "f5=!queue2:~-2,1!"
set "f6=!queue2:~-1,1!"
set "f7=!queue1:~-3,1!"
set "f8=!queue1:~-2,1!"
set "f9=!queue1:~-1,1!"
if !f1! equ 2 if not "!f1f!"=="" (echo !f1f!) else (echo -)
if !f2! equ 2 if not "!f2f!"=="" (echo !f2f!) else (echo -)
if !f3! equ 2 if not "!f3f!"=="" (echo !f3f!) else (echo -)
if !f4! equ 2 if not "!f4f!"=="" (echo !f4f!) else (echo -)
if !f5! equ 2 if not "!f5f!"=="" (echo !f5f!) else (echo -)
if !f6! equ 2 if not "!f6f!"=="" (echo !f6f!) else (echo -)
if !f7! equ 2 if not "!f7f!"=="" (echo !f7f!) else (echo -)
if !f8! equ 2 if not "!f8f!"=="" (echo !f8f!) else (echo -)
if !f9! equ 2 if not "!f9f!"=="" (echo !f9f!) else (echo -)
set /p s="移動(wasd), 選ぶ(y/n), ファイル変更(h): "
set "s=!s:~0,1!"
set "f1=!queue3:~-3,1!"
set "f2=!queue3:~-2,1!"
set "f3=!queue3:~-1,1!"
set "f4=!queue2:~-3,1!"
set "f5=!queue2:~-2,1!"
set "f6=!queue2:~-1,1!"
set "f7=!queue1:~-3,1!"
set "f8=!queue1:~-2,1!"
set "f9=!queue1:~-1,1!"
if /i "!s!"=="y" (
if not "!f1f!"=="" if !f1! equ 2 start !f1f! & exit
if not "!f2f!"=="" if !f2! equ 2 start !f2f! & exit
if not "!f3f!"=="" if !f3! equ 2 start !f3f! & exit
if not "!f4f!"=="" if !f4! equ 2 start !f4f! & exit
if not "!f5f!"=="" if !f5! equ 2 start !f5f! & exit
if not "!f6f!"=="" if !f6! equ 2 start !f6f! & exit
if not "!f7f!"=="" if !f7! equ 2 start !f7f! & exit
if not "!f8f!"=="" if !f8! equ 2 start !f8f! & exit
if not "!f9f!"=="" if !f9! equ 2 start !f9f! & exit
echo まだ設定されていません
pause >nul
)
if /i "!s!"=="h" (
if !f1! equ 2 set /p f1f="変更先: "
if !f2! equ 2 set /p f2f="変更先: "
if !f3! equ 2 set /p f3f="変更先: "
if !f4! equ 2 set /p f4f="変更先: "
if !f5! equ 2 set /p f5f="変更先: "
if !f6! equ 2 set /p f6f="変更先: "
if !f7! equ 2 set /p f7f="変更先: "
if !f8! equ 2 set /p f8f="変更先: "
if !f9! equ 2 set /p f9f="変更先: "
)
if /i "!s!"=="r" (
if !f1! equ 2 set "f1f="
if !f2! equ 2 set "f2f="
if !f3! equ 2 set "f3f="
if !f4! equ 2 set "f4f="
if !f5! equ 2 set "f5f="
if !f6! equ 2 set "f6f="
if !f7! equ 2 set "f7f="
if !f8! equ 2 set "f8f="
if !f9! equ 2 set "f9f="
)
(
echo set "f1f=!f1f!"
echo set "f2f=!f2f!"
echo set "f3f=!f3f!"
echo set "f4f=!f4f!"
echo set "f5f=!f5f!"
echo set "f6f=!f6f!"
echo set "f7f=!f7f!"
echo set "f8f=!f8f!"
echo set "f9f=!f9f!"
) > splendidnesssave.bat
if /i "!s!"=="w" set /a y+=1
if /i "!s!"=="s" set /a y-=1
if /i "!s!"=="a" set /a x*=10
if /i "!s!"=="d" set /a x/=10
if !y! geq 4 set /a y=1
if !y! equ 0 set /a y=3
if !x! leq 0 set /a x=100
if !x! geq 101 set /a x=1
goto :loop
不具合や改善案等がありましたら、コメントしていただけると幸いです。
ライセンス
私はこの記事に含まれるコードをCC BY-NC-SA 4.0 の下で提供します。