рдмреИрдЯ рдкрд░ рдмреНрд░реЗрдирдлреИрдХ рджреБрднрд╛рд╖рд┐рдпрд╛

рдмреНрд░реЗрдирдлрдХ рдХреА рд╕рд╛рджрдЧреА рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред рд╣реИрдмреЗ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рдХрд╛рд░ рдФрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛ рдереЗ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмреИрд╢ рдкрд░ рднреАред рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдПрдХ рдФрд░ рдЧреЛрд▓реЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрд╣реБрдВрдЪрдирд╛ рдЕрдиреБрдЪрд┐рдд рдерд╛ред рдЕрд░реНрдерд╛рддреН, WindowsNT рдкрд░рд┐рд╡рд╛рд░ рдХреА рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЗрдВ, рд╡реЗ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдЗрд╕ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп, рд▓рдХреНрд╖реНрдп рдХреЗрд╡рд▓ рдХрдВрд╕реЛрд▓ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд "рднрд╛рд╖рд╛" рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛ред




рдмреНрд░реЗрдирдлреИрдХ рдмреЛрд▓реА рд╡рд┐рдирд┐рд░реНрджреЗрд╢


рд╡рд┐рдВрдбреЛрдЬ рдХрдорд╛рдВрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдХрдИ рд╕реАрдорд╛рдПрдВ рд╣реИрдВред рдпрд╣рд╛рдБ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ:
  1. рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╡рд░реНрдг " < " рдФрд░ " > " рдХрд╛ рдЙрдкрдпреЛрдЧ I / O рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдмреНрд░реЗрдирдлреИрдХ рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдХреЛрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд╡рд░реНрддрдиреА " ( " рдФрд░ " ) " рд╕реЗ рдмрджрд▓ рджреЗрдВрдЧреЗред
  2. рдЯреЗрдХреНрд╕реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╕реАрдорд┐рдд рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓рддрд╛ рд╣реИ:
  1. рдореЗрдореЛрд░реА рдПрдХ рд░рд┐рдВрдЧ рдмрдлрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред
  2. рдЖрдЙрдЯрдкреБрдЯ рдЧреИрд░-рдореБрджреНрд░рдг рдпреЛрдЧреНрдп рд╡рд░реНрдгреЛрдВ рдФрд░ рдХреБрдЫ рд╡рд░реНрдгреЛрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдХреЛрдб рдкреГрд╖реНрда рдХреЗ рдкрд╣рд▓реЗ 127 рд╡рд░реНрдгреЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИ рдЬреЛ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рдкреНрд░рддреАрдХ "" рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ " _ " рдЪрд┐рдиреНрд╣ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  3. рднрд╛рд╖рд╛ рдХреЗ "рдореБрдЦреНрдп рд╢рдмреНрдж":
    • ")" - рдЕрдЧрд▓реА рдореЗрдореЛрд░реА рд╕реЗрд▓ рдкрд░ рдЬрд╛рдПрдВ
    • "(" - рдкрд┐рдЫрд▓реА рдореЗрдореЛрд░реА рд▓реЛрдХреЗрд╢рди рдкрд░ рдЬрд╛рдПрдВ
    • "+" - рдПрдХ рд╕реЗ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдмрдврд╝рд╛рдПрдБ
    • "-" - рдПрдХ рд╕реЗ рд╕реЗрд▓ рдореВрд▓реНрдп рдореЗрдВ рдХрдореА
    • "," - рдПрдХ рдорд╛рдирдХ рдЗрдирдкреБрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рд╕реЗрд▓ рдореЗрдВ рдорд╛рди рдкрдврд╝реЗрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
    • "ред" - рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реЗрд▓ рд╡реИрд▓реНрдпреВ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
    • "[" - рдЪрдХреНрд░ рд╢реБрд░реВ рдХрд░реЗрдВред рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ рдХрд╛ рдорд╛рди 0 рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ рдХрдорд╛рдВрдб рдкрд░ рдЬрд╛рдПрдВред рдЕрдиреНрдпрдерд╛, рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
    • "]" рдЪрдХреНрд░ рдХрд╛ рдЕрдВрдд рд╣реИред рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕реЗрд▓ рдХрд╛ рдорд╛рди 0 рдирд╣реАрдВ рд╣реИ, рддреЛ рд▓реВрдк рдЬрд╛рд░реА рд░рдЦреЗрдВ

рдореИрдВ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рдкреНрд░рддрд┐ рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рдХреЛрдб рдХреЗ рдмрд┐рдирд╛, рдПрдХ рдмреНрд░реЗрдирдлреИрдХ рджреБрднрд╛рд╖рд┐рдпрд╛ рд▓рд┐рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд░реЙрдп рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╣рд╛рдЗрдмреНрд░рд┐рдбрд░ рднреАред

рджреБрднрд╛рд╖рд┐рдпрд╛ рд╡рд┐рд╡рд░рдг


рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рдкреВрд░рд╛ рдкрд╛рда рдпрд╣рд╛рдБ рд╣реИ: http://pastebin.com/KZXUuz48

рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
  • рдПрдордкреА (рдореЗрдореЛрд░реА рдкреЙрдЗрдВрдЯрд░) - рд╡рд░реНрддрдорд╛рди рдореЗрдореЛрд░реА рд╕реЗрд▓ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░
  • cp (рдХрдорд╛рдВрдб рдкреЙрдЗрдВрдЯрд░) - рдкреЙрдЗрдВрдЯрд░ рдХрд░рдВрдЯ рдХрдорд╛рдВрдб рдХреЛ

рдЪрд░ рдЖрд░рдВрдн рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ "рдореЗрдореЛрд░реА" рд╢реВрдиреНрдп рд╕реЗ рднрд░ рдЬрд╛рддреА рд╣реИ, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВред рдкрдврд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдПрдХ рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдмреНрд░реЗрдирдлрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди, рд╕рднреА рдЧреИрд░-рд╢рдмреНрджрдХреЛрд╢ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рддрдХ * рдХреЗ рдмрд╛рдж рдХреЗ рд╕рднреА рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд╕реЗ "рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП" рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг:

+++++++++[ * while mem[0]<=9 { )+++++ * mem[1]+=5 (-] * } ). * print chr(mem[1]) 

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд┐рд░реНрдл рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИрдВ

 set bf_prog= FOR /F "eol=c delims=*" %%I IN (%work_file%) DO SET bf_prog=!bf_prog!%%I 

рдЬреЛ рд▓реЛрдЧ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рд╕рднреА рдЧреИрд░-рд╢рдмреНрджрдХреЛрд╢ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЧрд▓рд╛, рджреБрднрд╛рд╖рд┐рдпрд╛ рдХрд╛ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рдкрд╛рд░рджрд░реНрд╢реА рд╣реИред
Cp рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдСрдкрд░реЗрд╢рди рдХреЛрдб рдкрдврд╝реЗрдВред рдлрд┐рд░ рдХреНрд▓рд╛рд╕рд┐рдХ рдХреЗ рд╕рд╛рде рдЕрдЧрд░ ... рдФрд░ рд╣рдо рдЗрд╕реА рд╕рдмрд░реВрдЯреАрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЪрд░рд┐рддреНрд░ "рднрд╛рд╖рд╛ рд╢рдмреНрджрдХреЛрд╢" рд╕реЗ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд▓рд╛, cp рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдПрдВ рдФрд░ рд▓реВрдк рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬрд╛рдПрдВред

 :work set cop=!bf_prog:~%cp%,1! if "%cop%" == "+" ( call :array get mem %mp% tmp set /a tmp += 1 if "!tmp!" == "256" set tmp=0 call :array set mem %mp% !tmp! ) else if "%cop%" == "-" ( call :array get mem %mp% tmp set /a tmp -= 1 if !tmp! LSS 0 set tmp=255 call :array set mem %mp% !tmp! ) else if "%cop%" == ")" ( set /a mp +=1 if !mp! == %maxmem% set mp=0 ) else if "%cop%" == "(" ( set /a mp -=1 if !mp! == -1 set /a mp=%maxmem% - 1 ) else if "%cop%" == "," ( call :comma ) else if "%cop%" == "." ( call :array get mem %mp% tmp call :Echochr !tmp! ) else if "%cop%" == "[" ( call :array get mem %mp% tmp if "!tmp!" == "0" ( call :skip1 ) ) else if "%cop%" == "]" ( call :array get mem %mp% tmp if "!tmp!" NEQ "0" ( call :skip2 ) ) set /a cp += 1 if %cp% == %bf_len% goto :exit goto :work 


рдХреБрдЫ рд░реЛрдЪрдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди


Chr () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд░реНрдг рдХреЛ рдЪрд░ рд╕реЗ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдХреЛрдб рдХреЗ рдЕрдиреБрд░реВрдк рд╕реНрдерд┐рддрд┐ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

 :echochr rem   . ,      cmd   "." set char=".#$...'()*+,-./0123456789.....?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]._`abcdefghijklmnopqrstuvwxyz{.}~_" if %1==10 echo. if %1==13 echo. if %1==32 <nul set /p strTemp="_" if %1 GTR 32 ( set /a code=%1 - 32 for /f %%t in ('cmd /c "echo %%char:~!code!,1%%"') do <nul set /p strTemp="%%t" ) exit /b 0 


рдкреНрд░рддреАрдХ рдХреЛ рд╕реАрдзреЗ рдирд╣реАрдВ рдХрд╛рдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рдбрд┐рдЬрд╝рд╛рдЗрди
 set t=%char:~%code%,1% 
рдпрд╛
 set t=%char:~!code!,1% 
рдХреЛрдИ рддреНрд░реБрдЯрд┐ рджреЗрдЧрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕рдВрдХреЗрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: t t =% char: ~ 5.1% рдкрдВрдХреНрддрд┐ 5 рд╕реЗ 1 рд╡рд░реНрдг рдХреЛ рд╕реНрдерд┐рддрд┐ 5 рдкрд░ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрдк рд╕реАрдзреЗ рд╕реЗрдЯ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб ) рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рд░рдирдЯрд╛рдЗрдо рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреЛ рдХреЗрд╡рд▓ рдпрджрд┐ рдпрд╛ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рд╢реЗрд▓ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдХреЛ рдХрдорд╛рдВрдб рдЗрдХреЛ %% char ~ ~ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ! ~! рдХреЛрдб !, 1 %% (рдЬрд╣рд╛рдВ рдХреЛрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдирдВрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ) рдФрд░ "for / f" рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░реЗрдВред
рдЕрднреА рднреА рдПрдХ рдбрд┐рдЬрд╛рдЗрди рд╣реИ
 set t=!char:~%code%,1! 
, рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЖрдЙрдЯрдкреБрдЯ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИрдВ, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╡рд┐рдХрд╛рд╕ рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХреА рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди (: рдЗрдХреЛрдЪреНрд░) рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ: рдПрдХ рдкрдВрдХреНрддрд┐ рдлрд╝реАрдб рдХреЗ рдмрд┐рдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рдаред

рдЗрдХреЛ рдХрдорд╛рдВрдб рд╣рдореЗрд╢рд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рдордп рдПрдХ рд▓рд╛рдЗрди рдлреАрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ:

 <nul set /p strTemp="%~1" 

рдпрд╣реА рд╣реИ, рд╣рдо рдЗрдХреЛ рдХрдорд╛рдВрдб рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ / рдкреА рдХрдорд╛рдВрдб рдореЗрдВ nul рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЗрдирдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдордВрдЪ рдкрд░ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рд▓рд┐рдВрдХ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖



 ++++[)++++++++)++++++++++++++++++)++++++++++++++++) ++++++++++++++++++++)+++++++++++++++++++++++++(((((-] ))+.(.))))++++++++.+++.+++++++.-----------------. ((((.)-.)+.+.)++.(-.(.).+.). 


рдЪреЗрддрд╛рд╡рдиреА:

рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Microsoft рдиреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдзреАрдореЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдорд╛рд▓рд┐рдХ рддреЗрдЬрд╝ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рди рдХрд░реЗрдВред

рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА, рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рд╕реНрдЯрд╛, рд╡рд┐рдВрдбреЛрдЬ 7 рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рдВрджрд░реНрдн

  • рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓реЗрдЦрдХ рдХрд╛ рдкрдж: http://habrahabr.ru/blogs/crazydev/75951/
  • рдПрдХ рдордВрдЪ рдЬрд╣рд╛рдВ рдХрдИ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛: http://forum.script-coding.com/viewforum.php?id=12
  • рдпрд╣рд╛рдВ, рдмреИрдЪ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдмрддрд╛рдИ рдЧрдИ рд╣реИрдВ: http://rsdn.ru/article/winshell/NTCommandProcessor.xml


рдмреИрдЯ-рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЧрддрд┐ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдпрд╣рд╛рдБ рдкреНрд░рд╕реНрддреБрдд рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреА рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рджреБрднрд╛рд╖рд┐рдпрд╛ рдкрд░ рдХрд╛рдо рдХреЗ рджреМрд░рд╛рди, рд╕реАрдПрдордбреА рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░ рдкреАрдврд╝реА рджреЗрдЦреА рдЧрдИ рдереАред рдФрд░ рд╕рдордЧреНрд░ рдЧрддрд┐ рдЫреЛрдЯреА рд╣реИред рдпрд╣ рд╕рднреА рдХреЙрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдорджрдж рдкрдврд╝реЗрдВ:
CALL .
:

CALL :


, ,
.
. ,
CALL, .
GOTO /? GOTO :EOF,
.

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреЙрд▓ рд╕реАрдПрдордбреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдмрд░реВрдЯреАрди рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдЬреЛ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реАрдзреЗ, рджреВрд╕рд░реЗ рдореЗрдВ рдПрдХ рд╕рдмрд░реВрдЯреАрди рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
 @echo off setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS echo %time% - start test1 set a=0 for /l %%i in (1,1,1000) do set /aa=!a!+1 echo %a% echo %time% - end test1 echo -------------- echo %time% - start test2 set a=0 for /l %%i in (1,1,1000) do call :m1 echo %a% echo %time% - end test2 goto :eof :m1 set /aa=%a%+1 exit /b /0 

рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдмрд╣реБрдд рдХрдо рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд░реВрдЯреАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ред рдирддреАрдЬрддрди, рдЧрддрд┐ рдореЗрдВ 15 рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рд╡реГрджреНрдзрд┐ рд╣реБрдИ!
рджрд░рдЕрд╕рд▓, рдЕрдиреБрдХреВрд▓рд┐рдд рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реА http://pastebin.com/MDbVJXsE рд╣реИ

Source: https://habr.com/ru/post/In123034/


All Articles