Advertisement
Guest User

Untitled

a guest
Oct 31st, 2018
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.90 KB | None | 0 0
  1. :Main
  2. @echo off
  3. setlocal
  4. setlocal EnableDelayedExpansion
  5. set map=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
  6. IF NOT DEFINED Citac (SET Citac=0)
  7. cls
  8. if not %Citac% == 2 goto :Vypis
  9.  
  10. set "DecIn="
  11. set Citac=0
  12.  
  13. call :strlen "%mujRetezec01%" LenRet01
  14. call :strlen "%mujRetezec02%" LenRet02
  15. call :strlen "%mujRetezec03%" LenRet03
  16. call :strlen "%mujRetezec04%" LenRet04
  17.  
  18. if not defined LenRet01 goto :Eof
  19. if not defined LenRet02 goto :Eof
  20. if not defined LenRet03 goto :Eof
  21. if not defined LenRet04 goto :Eof
  22.  
  23. Set /A LenRet01=LenRet01 * 7192 - 10
  24. Set /A LenRet02=LenRet02 * 8488 + 7
  25. Set /A LenRet03=LenRet03 * 6599 + 20
  26. Set /A LenRet04=LenRet04 * 9756 - 18
  27.  
  28. call :Dec2Base 16 %LenRet01% BaseOut01
  29. call :Dec2Base 16 %LenRet02% BaseOut02
  30. call :Dec2Base 16 %LenRet03% BaseOut03
  31. call :Dec2Base 16 %LenRet04% BaseOut04
  32.  
  33. echo GoG code is:=%BaseOut01%-%BaseOut02%-%BaseOut03%-%BaseOut04% :)
  34.  
  35. endlocal
  36. set Citac=0
  37. SET "mujRetezec01="
  38. SET "mujRetezec02="
  39. SET "mujRetezec03="
  40. SET "mujRetezec04="
  41. goto :eof
  42.  
  43. :Vypis
  44. echo @echo off
  45. echo setlocal
  46. echo IF NOT DEFINED Citac (SET Citac=0)
  47. echo Set /a Citac=Citac + 1
  48. echo\
  49. echo SET "mujRetezec01=%%mujRetezec01%% skakal pes, pres oves, pres zelenou louku"
  50. echo SET "mujRetezec02=%%mujRetezec02%% pec nam spadla, pec nam spadla, kdopak nam ji opravi"
  51. echo SET "mujRetezec03=%%mujRetezec03%% holka modrooka nesedavej u potoka, holka modrooka nesedavej tam"
  52. echo SET "mujRetezec04=%%mujRetezec04%% okolo hradce, v male zahradce, rostou tam dve ruze"
  53. echo\
  54. echo if %%Citac%% == 1 goto :Konec
  55. echo if %%Citac%% == 2 goto :Main
  56. echo goto :eof
  57. echo\
  58.  
  59. goto :eof
  60.  
  61. ::-------------------------------------------------------------------------------------
  62. :Dec2Base Base DecIn BaseOut
  63. Setlocal
  64. Echo:%2|findstr /i "^[%map:~0,10%]*$" >Nul 2>&1 ||(Echo invalid char for base 10&Goto :Eof)
  65. set /a Num=%2
  66. set "Ret="
  67.  
  68. :Dec2BaseLoop
  69. set /a "Digit=Num %% %1"
  70. set /a "Num /= %1"
  71. set Ret=!map:~%Digit%,1!%Ret%
  72. if "%Num%" neq "0" goto :Dec2BaseLoop
  73. Endlocal&Set "%3=%Ret%"&Goto :Eof
  74. ::-------------------------------------------------------------------------------------
  75.  
  76. :Base2Dec Base BaseIn DecBack
  77. Setlocal EnableDelayedExpansion
  78. Set /A "Base=%1,PlaceVal=1,Ret=0"
  79. Echo:%2|findstr /i "^[!map:,%Base%!]*$" >Nul 2>&1 ||(Echo invalid char for base %1&Goto :Eof)
  80. Set Val=%2
  81.  
  82. :Base2DecLoop
  83. Set "Digit=%Val:~-1%"
  84. If %Digit% Leq 9 goto :Next
  85. For /L %%i in (10,1,%Base%) Do If /i "!Digit!" Equ "!map:~%%i,1!" (Set "Digit=%%i" & Goto :Next )
  86. Echo Something went wrong & Pause
  87.  
  88. :Next
  89. set /A "Ret+=Digit * PlaceVal,PlaceVal *= Base"
  90. Set "Val=%Val:~0,-1%"
  91. If defined Val goto :Base2DecLoop
  92. Endlocal & Set "%3=%Ret%" & Goto :Eof
  93.  
  94. :strlen string len
  95. rem SetLocal EnableDelayedExpansion
  96. set "token=#%~1" & set "len=0"
  97. for /L %%A in (12,-1,0) do (
  98.     set/A "len|=1<<%%A"
  99.     for %%B in (!len!) do if "!token:~%%B,1!"=="" set/A "len&=~1<<%%A"
  100. )
  101. EndLocal & set %~2=%len%
  102. exit/B
  103.  
  104. :Konec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement