1

Тема: CMD/BAT: перевёртыш (зеркальное обращение текста)

При разработке и разгадке головоломок, запутанных и витееватых хитросплетений кода,  да и просто "JUST FOR LULZ" :-D
, полезно иметь под рукой такую полезняшку.


@echo off
SETLOCAL EnableDelayedExpansion EnableExtensions
set tmpstr=
set text=%*
IF "%~1"=="" (set/p text= )
call :StrlenF "%text%" strlen
call :backstrF "%text%" %strlen% backstr
echo.
exit/b

:backstrF
    echo.

:proc_LOOP

set tmpstr=%tmpstr%!text:~%strlen%,1!


<nul set /p  tmpstr=!text:~%strlen%,1!

set /a strlen-=1
if !strlen! EQU -1 (set %3=%tmpstr% & exit /b)
goto :proc_LOOP
exit/b



:StrLenF ([in]str,[out]Length) 
:: -----------------------
:: Функция Нахождения длины строки /by Aскет/
:: -----------------------
    Set complen=0
    Set StringBuf=%~1
    If ""=="%~1" GoTo :EOF
    :StringLenLoop
    Set /A complen+=1
    Call Set StringChr=%%StringBuf:~%complen%%%
    set %2=%complen%
    If ""=="%StringChr%" GOTO :EOF
    GoTo :StringLenLoop
exit/b

Вводить текст можно интерактивно, можно задавать его параметром запуска утилиты,
но также можно и обрабатывать файлы, пример:

c:\> TYPE C:\кадум\текст.txt|C:\кадум\перевертыш.bat

оговакул то сан ьвабзи он ,еинешукси в сан идевв ен и ;умешан укинжлод умокясв меащорп ым и оби ,ишан
ихерг ман итсорп и ;ьнед йыджак ан ман йавадоп йынщусан шан белх ;ебен ан как ,елмез ан и яовТ ялов те
дуб ад ;еовТ еивтсраЦ тедиирп ад ;еовТ ями яститявс ад !хасебен ан йищус ,шан ечто