应该拆分您键入的内容然后将每个字符设置为不同的变量。现在它做的是在你输入第一件东西之后制作大量的空白行。这就是:
@echo off && setlocal EnableDelayedExpansion
:home
set ran=%random%
if exist "%temp%\%ran%temp.txt" goto home
set /p o=""
rem putting %o% in temp file
echo.%o%>>"%temp%\%ran%temp.txt"
rem determaning num of bytes in txt file
for %%a in (%temp%\%ran%temp.txt) do set /a ol=%%~za
rem subtracting 2 from num of bytes
set /a ol -=2
rem Deleting temp file
del "%temp%\%ran%temp.txt"
goto pla
:pla
set v=0
set a=-1
set b=0
:pl
set /a v+=1
set /a a+=1
set /a b+=1
set var%v%=!o:~%a%,%b%!
if %b% == %ol% goto show
goto pl
:show
set vv=0
:showw
set /a vv+=1
echo.!var%vv%!
if %vv% == %v% goto end
goto showw
:end
pause
goto home
我编写了一些代码,现在我得到了:
ħ
EL
LLO
LO
0
如果我输入Hello。
我希望示例:我输入“Hello”它应该说
ħ
ë
1
1
0
答案 0 :(得分:2)
对不起。以下是我想要实现的我认为的版本。如果你对我的程序不感兴趣,我会道歉(在这种情况下只是忽略它)......
@echo off
setlocal EnableDelayedExpansion
:home
set /p o=""
set v=0
:pl
set /a v+=1
set var%v%=%o:~0,1%
set o=%o:~1%
if defined o goto pl
for /L %%v in (1,1,%v%) do echo.!var%%v!
pause
goto home