Advertisement
IcarusLives

getArgs1

Feb 21st, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 9.58 KB | None | 0 0
  1. @echo off & setlocal enableDelayedExpansion
  2. prompt $g
  3.  
  4. call :emptyVarEnviornment
  5.  
  6.     for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E & echo on & for %%b in (1) do rem"') do set "DEL=%%a"
  7.     <nul set /p ".=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%" > "'"
  8.  
  9. REM call :build_Alphabet
  10.    
  11. REM call :func "[I]" 04 "[_]" 0C "[L]" 0E "[O]" 02 "[V]" 0A "[E]" 0B "[_]" 03 "[Y]" 09 "[O]" 01 "[U]" 05
  12. echo.
  13. call :func "TEXT" 05 " " 0F "ONE" 9A " " 0F "TWO" 4C
  14. echo.
  15. REM call :func "THREE" 2E " " 0F "FOUR" CA " " 0F "FIVE" D3
  16.  
  17. set >vars.txt
  18.  
  19. del /f /q '
  20. del /f /q cp.txt
  21.      
  22. pause >nul & exit
  23.  
  24. :func
  25.     setlocal
  26.         set "args=0"
  27.         :getArgs
  28.             if "%~1" neq "" set /a "args+=1"
  29.             if "%~1" neq "" set "Text[!args!]=%~1"
  30.             if "%~2" neq "" set "color[!args!]=%~2"
  31.             shift & shift
  32.             if "%~1" neq "" ( goto :getArgs )
  33.            
  34.             set /a "a=1", "p=0", "i=0"
  35.         :getLetter
  36.             if defined text[!a!] (
  37.                 call set "ex_str[!a!]=%%text[!a!]:~!p!,1%%"
  38.                
  39.                 call set "currStr=%%ex_str[!a!]%%"
  40.                
  41.                 set /a "i+=1", "p+=1", "noc_[!a!]+=1"
  42.                
  43.                 call set "cha[!a!][!i!]=!currStr!"
  44.                
  45.                 call set "col[!a!][!i!]=%%color[!a!]%%"
  46.                
  47.                 if "!currStr!" equ "" set /a "a+=1", "p=0", "i=0"
  48.                 goto :getLetter
  49.             )
  50.            
  51.             for /l %%a in (1,1,%args%) do (
  52.                 for /l %%b in (1,1,!noc_[%%a]!) do if defined cha[%%a][%%b] (>cp.txt ( call echo=!cha[%%a][%%b]!\..\') && findstr /a:!col[%%a][%%b]! /f:cp.txt ".")
  53.             )
  54.     endlocal
  55. goto :eof
  56.  
  57. :build_Alphabet
  58.     for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E & echo on & for %%b in (1) do rem"') do set "DEL=%%a"
  59.     <nul set /p ".=%DEL%%DEL%%DEL%%DEL%%DEL%%DEL%" > "'"
  60.     for %%a in ("        " "   ÛÛ   " " ÛÛÛÛÛÛ " "ÛÛÛ  ÛÛÛ" "ÛÛÛ  ÛÛÛ" "ÛÛÛ  ÛÛÛ" "ÛÛÛÛÛÛÛÛ" "ÛÛÛ  ÛÛÛ" "ÛÛÛ  ÛÛÛ" "ÛÛÛ  ÛÛÛ" "        " "        ") do set /a "a+=1" & set "_A[!a!]=%%~a"
  61.     for %%a in ("        " "ÛÛÛÛÛÛ  " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛÛÛÛ  " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " "ÛÛÛÛÛÛ  " "        " "        ") do set /a "b+=1" & set "_B[!b!]=%%~a"
  62.     for %%a in ("        " "   ÛÛÛÛ " "  ÛÛ  ÛÛ" " ÛÛ   ÛÛ" " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ   ÛÛ" "  ÛÛ  ÛÛ" "   ÛÛÛÛ " "        " "        ") do set /a "c+=1" & set "_C[!c!]=%%~a"
  63.     for %%a in ("        " " ÛÛÛÛÛ  " " ÛÛ ÛÛ  " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ ÛÛ  " " ÛÛÛÛÛ  " "        " "        ") do set /a "d+=1" & set "_D[!d!]=%%~a"
  64.     for %%a in ("        " "ÛÛÛÛÛÛÛ " " ÛÛ   Û " " ÛÛ     " " ÛÛ  Û  " " ÛÛÛÛÛ  " " ÛÛ  Û  " " ÛÛ     " " ÛÛ   Û " "ÛÛÛÛÛÛÛ " "        " "        ") do set /a "e+=1" & set "_E[!e!]=%%~a"
  65.     for %%a in ("        " "ÛÛÛÛÛÛÛ " " ÛÛ  ÛÛ " " ÛÛ   Û " " ÛÛ  Û  " " ÛÛÛÛÛ  " " ÛÛ  Û  " " ÛÛ     " " ÛÛ     " "ÛÛÛÛ    " "        " "        ") do set /a "f+=1" & set "_F[!f!]=%%~a"
  66.     for %%a in ("        " "   ÛÛÛÛ " "  ÛÛ  ÛÛ" " ÛÛ   ÛÛ" " ÛÛ     " " ÛÛ     " " ÛÛ  ÛÛÛ" " ÛÛ   ÛÛ" " ÛÛ   ÛÛ" "  ÛÛÛÛÛ " "        " "        ") do set /a "g+=1" & set "_G[!g!]=%%~a"
  67.     for %%a in ("        " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛÛÛÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " "        " "        ") do set /a "h+=1" & set "_H[!h!]=%%~a"
  68.     for %%a in ("        " " ÛÛÛÛÛÛ " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " " ÛÛÛÛÛÛ " "        " "        ") do set /a "i+=1" & set "_I[!i!]=%%~a"
  69.     for %%a in ("        " "    ÛÛÛÛ" "     ÛÛ " "     ÛÛ " "     ÛÛ " "     ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " "  ÛÛÛÛ  " "        " "        ") do set /a "j+=1" & set "_J[!j!]=%%~a"
  70.     for %%a in ("        " " ÛÛÛ  ÛÛ" "  ÛÛ  ÛÛ" "  ÛÛ ÛÛ " "  ÛÛ ÛÛ " "  ÛÛÛÛ  " "  ÛÛ ÛÛ " "  ÛÛ ÛÛ " "  ÛÛ  ÛÛ" " ÛÛÛ  ÛÛ" "        " "        ") do set /a "k+=1" & set "_K[!k!]=%%~a"
  71.     for %%a in ("        " "ÛÛÛÛ    " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ   Û " " ÛÛ  ÛÛ " "ÛÛÛÛÛÛÛ " "        " "        ") do set /a "l+=1" & set "_L[!l!]=%%~a"
  72.     for %%a in ("        " "ÛÛ   ÛÛ " "ÛÛÛ ÛÛÛ " "ÛÛÛÛÛÛÛ " "ÛÛÛÛÛÛÛ " "ÛÛ Û ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "        " "        ") do set /a "m+=1" & set "_M[!m!]=%%~a"
  73.     for %%a in ("        " "ÛÛ    ÛÛ" "ÛÛÛ   ÛÛ" "ÛÛÛ   ÛÛ" "ÛÛÛÛ  ÛÛ" "ÛÛ ÛÛ ÛÛ" "ÛÛ  ÛÛÛÛ" "ÛÛ   ÛÛÛ" "ÛÛ   ÛÛÛ" "ÛÛ    ÛÛ" "        " "        ") do set /a "n+=1" & set "_N[!n!]=%%~a"
  74.     for %%a in ("        " "  ÛÛÛ   " "ÛÛÛ ÛÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛÛ ÛÛÛ " "  ÛÛÛ   " "        " "        ") do set /a "o+=1" & set "_O[!o!]=%%~a"
  75.     for %%a in ("        " "ÛÛÛÛÛÛÛ " " ÛÛ   ÛÛ" " ÛÛ   ÛÛ" " ÛÛ   ÛÛ" " ÛÛÛÛÛÛ " " ÛÛ     " " ÛÛ     " " ÛÛ     " "ÛÛÛÛ    " "        " "        ") do set /a "p+=1" & set "_P[!p!]=%%~a"
  76.     for %%a in ("        " " ÛÛÛÛÛÛ " "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ ÛÛ ÛÛ" " ÛÛÛÛÛÛ " "     ÛÛ " "        ") do set /a "q+=1" & set "_Q[!q!]=%%~a"
  77.     for %%a in ("        " "ÛÛÛÛÛÛÛ " " ÛÛ   ÛÛ" " ÛÛ   ÛÛ" " ÛÛ   ÛÛ" " ÛÛÛÛÛÛ " " ÛÛ ÛÛ  " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " "ÛÛÛÛ ÛÛÛ" "        " "        ") do set /a "r+=1" & set "_R[!r!]=%%~a"
  78.     for %%a in ("        " " ÛÛÛÛÛ  " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " " ÛÛ     " "  ÛÛÛ   " "    ÛÛ  " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " " ÛÛÛÛÛ  " "        " "        ") do set /a "s+=1" & set "_S[!s!]=%%~a"
  79.     for %%a in ("        " "ÛÛÛÛÛÛÛÛ" "Û  ÛÛ  Û" "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "  ÛÛÛÛ  " "        " "        ") do set /a "t+=1" & set "_T[!t!]=%%~a"
  80.     for %%a in ("        " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " " ÛÛ  ÛÛ " "  ÛÛÛÛ  " "        " "        ") do set /a "u+=1" & set "_U[!u!]=%%~a"
  81.     for %%a in ("        " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " " ÛÛ ÛÛ  " "  ÛÛ    " "        " "        ") do set /a "v+=1" & set "_V[!v!]=%%~a"
  82.     for %%a in ("        " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ Û ÛÛ " "ÛÛ Û ÛÛ " " ÛÛ ÛÛ  " "        " "        ") do set /a "w+=1" & set "_W[!w!]=%%~a"
  83.     for %%a in ("        " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " " ÛÛÛÛÛ  " "  ÛÛÛ   " " ÛÛÛÛÛ  " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "        " "        ") do set /a "x+=1" & set "_X[!x!]=%%~a"
  84.     for %%a in ("        " "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" "ÛÛ    ÛÛ" " ÛÛ  ÛÛ " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "   ÛÛ   " "  ÛÛÛÛ  " "        " "        ") do set /a "y+=1" & set "_Y[!y!]=%%~a"
  85.     for %%a in ("        " "ÛÛÛÛÛÛÛ " "      Û " "     Û  " "    Û   " "   Û    " "  Û     " " Û      " "Û       " "ÛÛÛÛÛÛÛ " "        " "        ") do set /a "z+=1" & set "_Z[!z!]=%%~a"
  86.     for %%a in ("        " "        " "        " "        " "        " "        " "        " "        " "        " "        " "        " "        ") do set /a "sp+=1" & set "_ [!sp!]=%%~a"
  87.     for %%a in ("        " " ÛÛ ÛÛ  " " ÛÛ ÛÛ  " "ÛÛÛÛÛÛÛ " " ÛÛ ÛÛ  " " ÛÛ ÛÛ  " " ÛÛ ÛÛ  " "ÛÛÛÛÛÛÛ " " ÛÛ ÛÛ  " " ÛÛ ÛÛ  " "        " "        ") do set /a "ht+=1" & set "_#[!ht!]=%%~a"
  88.     for %%a in ("        " " ÛÛÛÛÛ  " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "     ÛÛ " "    ÛÛ  " "  ÛÛ    " "  ÛÛ    " "        " "  ÛÛ    " "        ") do set /a "qm+=1" & set "_?[!qm!]=%%~a"
  89.     for %%a in ("        " "        " "        " " ÛÛ ÛÛ  " "Û  Û  Û " "Û     Û " " Û   Û  " "  Û Û   " "   Û    " "        " "        " "        ") do set /a "heart+=1" & set "_`[!heart!]=%%~a"
  90.     for %%a in ("        " " ÛÛÛÛÛ  " "ÛÛ   ÛÛ " "ÛÛ   ÛÛ " "ÛÛ ÛÛÛÛ " "ÛÛ ÛÛÛÛ " "ÛÛ ÛÛÛÛ " "ÛÛ ÛÛÛÛ " "ÛÛ      " " ÛÛÛÛÛ  " "        " "        ") do set /a "at+=1" & set "_@[!at!]=%%~a"
  91.     for %%a in ("        " " ÛÛÛÛÛ  " " ÛÛÛÛ   " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛ     " " ÛÛÛÛ   " " ÛÛÛÛÛ  " "        " "        ") do set /a "rsb+=1" & set "_[[!rsb!]=%%~a"
  92.     for %%a in ("        " " ÛÛÛÛÛ  " "  ÛÛÛÛ  " "    ÛÛ  " "    ÛÛ  " "    ÛÛ  " "    ÛÛ  " "    ÛÛ  " "  ÛÛÛÛ  " " ÛÛÛÛÛ  " "        " "        ") do set /a "lsb+=1" & set "_][!lsb!]=%%~a"
  93.     for %%a in ("        " " ÛÛÛÛÛ  " "Û     Û " "Û Û Û Û " "Û Û Û Û " "Û     Û " "Û Û Û Û " "Û ÛÛÛ Û " "Û     Û " " ÛÛÛÛÛ  " "        " "        ") do set /a "hf+=1" & set "_~[!hf!]=%%~a"
  94.     for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z sp ht qm heart at rsb lsb hf) do set "%%a="
  95. goto :eof
  96.  
  97. :emptyVarEnviornment
  98.     set "preserve= preserve path %~1 "
  99.     for /f "delims==" %%v in ('set') do if "!preserve: %%v =!" equ "!preserve!" set "%%v="
  100.     set "preserve="
  101. goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement