2012-02-22 4 views
0

あなたが入力したものを分割し、それぞれの文字を別の変数に設定することになっています。何それが今行うことはあなたが最初のものを入力した後、空白行のトンを作るあるここにある:私は少しのコードを編集し、今私が手 バッチファイルが機能していませんか?

@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 

H

Oエル

LLO

LO

Helloと入力します。

私は例を期待する:私はそれはすみません

+0

わかりました、FORTRANを読んでいるのと同じです!ちなみに、あなたが得る出力とあなたが期待する出力を表示するには? – sarnold

+0

@sarnold "最初に入力した後は、今何をしているのは空白行のトンです。"一番下に私の新しい編集を読んでください。 – BBMAN225

+0

varを1文字に変更するコードが分かっていれば本当に役に立ちます! – BBMAN225

答えて

2

oを

H

電子

リットル

リットル

言うべき "こんにちは" と入力します。以下は私の自分のバージョンです私はあなたが達成したいと思います。あなたが私のプログラムに興味がないなら、お詫び申し上げます(この場合は無視してください)。

@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 
関連する問題