Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)

Модерирует : gyra, Maz

articlebot (21-06-2016 11:40): Следующая часть - Командная строка, батники, сценарии (bat, cmd)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Ykidia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[code][/code]@echo off
setlocal enableextensions enabledelayedexpansion
 
REM :: TRIT - TRanslITerate, usage: trit "text"
 
set "_allpar="
:MAIN_MERGE_PARAMETERS
set _cmdpar=%1
REM :: Must keep one space after "%1"!!!
set _allpar=%_allpar%%1  
shift & if defined _cmdpar goto MAIN_MERGE_PARAMETERS
set trit_string=%_allpar:~0,-2%
 
set "trit_pre=_{@#"
set "trit_post=#@}_"
set trit_tbl=YE:Е Ye:Е ye:е  YO:Ё Yo:Ё yo:ё  YU:Ю Yu:Ю yu:ю  YA:Я Ya:Я ya:я ^
             JE:Е Je:Е je:е  JO:Ё Jo:Ё jo:ё  JU:Ю Ju:Ю ju:ю  JA:Я Ja:Я ja:я ^
             ZHY:ЖИ ZhY:ЖИ ZHy:Жи Zhy:Жи zhY:жИ zhy:жи  KHY:ХЫ KhY:ХЫ KHy:Хы Khy:Хы khY:хЫ khy:хы ^
             TSY:ЦЫ TsY:ЦЫ TSy:Цы Tsy:Цы tsY:цЫ tsy:цы  SHCHY:ЩЫ ShchY:ЩЫ SHCHy:Щы Shchy:Щы shchY:щЫ shchy:щы ^
             CHY:ЧЫ ChY:ЧЫ CHy:Чы Chy:Чы chY:чЫ chy:чы  SHY:ШИ ShY:ШИ SHy:Ши Shy:Ши shY:шИ shy:ши ^
             BY:БЫ By:Бы bY:бЫ by:бы  VY:ВЫ Vy:Вы vY:вЫ vy:вы  GY:ГЫ Gy:Гы gY:гЫ gy:гы  DY:ДЫ Dy:Ды dY:дЫ dy:ды ^
             ZY:ЗЫ Zy:Зы zY:зЫ zy:зы  KY:КЫ Ky:Кы kY:кЫ ky:кы  LY:ЛЫ Ly:Лы lY:лЫ ly:лы  MY:МЫ My:Мы mY:мЫ my:мы ^
             NY:НЫ Ny:Ны nY:нЫ ny:ны  PY:ПЫ Py:Пы pY:пЫ py:пы  RY:РЫ Ry:Ры rY:рЫ ry:ры  SY:СЫ Sy:Сы sY:сЫ sy:сы ^
             TY:ТЫ Ty:Ты tY:тЫ ty:ты  FY:ФЫ Fy:Фы fY:фЫ fy:фы  YY:ЫЙ Yy:Ый yY:ыЙ yy:ый  EH:Э Eh:Э eh:э  ^
             A:А a:а  E:Е e:е  I:И i:и  O:О o:о  U:У u:у  ZH:Ж Zh:Ж zh:ж  KH:Х Kh:Х kh:х ^
             TS:Ц Ts:Ц ts:ц  SHCH:Щ Shch:Щ shch:щ  CH:Ч Ch:Ч ch:ч  SH:Ш Sh:Ш sh:ш ^
             B:Б b:б  V:В v:в  G:Г g:г  D:Д d:д  Z:З z:з  K:К k:к  L:Л l:л ^
             M:М m:м  N:Н n:н  P:П p:п  R:Р r:р  S:С s:с  T:Т t:т  F:Ф f:ф ^
             H:Х h:х  C:Ц c:ц  W:В w:в  Q:К q:к  X:Кс x:кс  Y:Й y:й  ':ь ^
             ЧЯ:ЧА Чя:Ча чЯ:чА чя:ча  ЩЯ:ЩА Щя:Ща щЯ:щА щя:ща  ЧЮ:ЧУ Чю:Чу чЮ:чУ чю:чу  ЩЮ:ЩУ Щю:ЩУ щЮ:щу щю:щу
 
call :FUNCTION_DISCLOSURE_QUOTES trit_string trit_string
set "trit_string=!trit_string:"=ъ!"
call :FUNCTION_TAG_BIG_LETTERS trit_string trit_string trit_pre trit_post
 
for %%A in (%trit_tbl%) do (
    for /f "tokens=1,2 delims=:" %%B in ("%%A") do (
        set "trit_repl=%%B"
        call :FUNCTION_TAG_BIG_LETTERS trit_repl trit_repl trit_pre trit_post
        call set "trit_string=%%trit_string:!trit_repl!=%%C%%"
    )
)
 
echo !trit_string!
goto :RETURN
 
 
:FUNCTION_TAG_BIG_LETTERS
REM ::*************************************************************************
REM :: Function    : Tag Big Letters
REM :: Description : Tags big latin letters for case-sensitive operations
REM :: On enter    : %1 - source variable (with input string),
REM ::             : %2 - target variable (for output string),
REM ::             : %3 - prefix variable (with prefix string),
REM ::             : %4 - postfix variable (with postfix string)
REM :: On return   : output variable (%2)
REM :: Used        : _tagbl_input, _tagbl_index, _tagbl_result, _tagbl_letter
REM ::*************************************************************************
set "_tagbl_input=!%1!"
set "_tagbl_index=0"
set "_tagbl_output="
:FN_TAGBL_LOOP
set _tagbl_letter=!_tagbl_input:~%_tagbl_index%,1!
if not defined _tagbl_letter (
    set %2=!_tagbl_output!
    goto :RETURN
)
for %%Z 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) do (
    if !_tagbl_letter!==%%Z (
        set _tagbl_letter=!%3!!_tagbl_letter!!%4!
        goto :FN_TAGBL_BREAK
    )
)
:FN_TAGBL_BREAK
set _tagbl_output=!_tagbl_output!!_tagbl_letter!
set /a _tagbl_index+=1
goto :FN_TAGBL_LOOP
 
 
:FUNCTION_DISCLOSURE_QUOTES
REM ::***********************************************************************
REM :: Function    : Disclosure Quotes
REM :: Description : Deletes fringing double quotes
REM :: On enter    : %1 - source variable (with input string),
REM ::             : %2 - target variable (for output string)
REM :: On return   : output variable (%2)
REM :: Used        : _dcq_input, _str2disclosq_bquot, _str2disclosq_equot
REM ::***********************************************************************
set "_dcq_input=!%1!"
:FN_DCQ_LOOP
set _dcq_bquot=!_dcq_input!
set _dcq_bquot=!_dcq_bquot:~0,1!
if !_dcq_bquot!==^" (
    if !_dcq_bquot!==!_dcq_input:~-1! (
         set _dcq_input=!_dcq_input:~1,-1!
         goto :FN_DCQ_LOOP
     )
)
set "%2=!_dcq_input!"
goto :RETURN
 
 
:RETURN
endlocal

Всего записей: 242 | Зарегистр. 03-03-2005 | Отправлено: 17:28 19-06-2012
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
articlebot (21-06-2016 11:40): Следующая часть - Командная строка, батники, сценарии (bat, cmd)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru