@echo off &setlocal enabledelayedexpansion set MD5=c472a022eb426cf1733a36e08b31c9f9 set T=0123456789ABCDEFGHIJKLMNOPQRSTUV for /L %%i in (0,1,25) do ( set /a L=5*%%i/8, L*=2, H=L+2, R=5*%%i%%8 call set /a "N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%>>R&31 echo !N! call set HASH=!HASH!%%T:~!N!,1%% ) echo "%HASH%" if "%HASH%"=="4MS0AHCT22R2VP97M1ONOO4PP7" ( echo OK) else ( echo Fail) pause
ちょっと誰か助けてくれ。気になって眠れずこんな時間になってしまった エスケープの仕方を教えて欲しい 上ので動いてるんだけどN左の引用符を外して call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^>^>R^&31 call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^>^^^>R^^^&31 call set /a N=0x%%MD5:~!H!,2%%%%MD5:~!L!,2%%^^^^^>^^^^^>R^^^^^&31 とか call set /a N^=0x%%MD5^:^~!H!^,2%%%%MD5^:^~!L!^,2%%^>^>R^&31 call set /a N^^^=0x%%MD5^^^:^^^~!H!^^^,2%%%%MD5^^^:^^^~!L!^^^,2%%^^^>^^^>R^^^&31 とか%重ねたりとか何時間も色々試してみたけどNが空になる 何にどれだけエスケープが必要なのかのロジックが知りたい forとcallで2段なんだと思うんだけど。。 分かる人居たらお願いします