Board logo

标题: 如何换行输出文字! [打印本页]

作者: bbq5201     时间: 2007-8-28 01:35    标题: 如何换行输出文字!

set file=大家好!!!
set file1=我是bb
for /l %%a in (0,1,6) do echo !file:~%%a,1
for /l %%a in (0,1,4) do echo !file1:~%%a,1
这句输出是:



!
!
!

我想要的效果是:
大       我
家       是
好       b
!         b
!
!
从左到右..从上到下的顺序...
作者: slore     时间: 2007-8-28 12:52
论坛有人求过文本行互转列的代码
作者: knoppix7     时间: 2007-8-28 13:45
@echo off
setlocal enabledelayedexpansion
set file=大家好!!!
set file1=我是bb
for /l %%a in (0,1,5) do (
echo !file:~%%a,1! !file1:~%%a,1!
)
pause
作者: bbq5201     时间: 2007-8-28 15:52


  Quote:
Originally posted by knoppix7 at 2007-8-28 01:45 PM:
@echo off
setlocal enabledelayedexpansion
set file=大家好!!!
set file1=我是bb
for /l %%a in (0,1,5) do (
echo !file:~%%a,1! !file1:~%%a,1!
)
pause

一个个字有顺序输出
从左到右
从上到下..
作者: knoppix7     时间: 2007-8-28 15:58
echo !file:~%%a,1! !file1:~%%a,1!
改成
ping -n 1 -w 1000 0.0.0.1>>nul
set /p NULL=!file:~%%a,1!   <nul
set /p NULL=!file1:~%%a,1!<nul
echo+


如果你想先大家好!!!然后我是bb
的话。你自己做吧。
作者: HAT     时间: 2007-8-28 20:50
//论坛有人求过文本行互转列的代码

印象深刻啊,通过构造数组来实现的。
我再把代码贴一遍。
@echo off
set /a num=0,_num=0,max=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
    set /a num+=1,_num=0
    for %%j in (%%i) do (
        set /a _num+=1
        set str!num!_!_num!=%%j
        if !_num! geq !max! set max=!_num!
    )
)
for /l %%i in (1,1,%max%) do (
    for /l %%j in (1,1,%num%) do (
       set /p=!str%%j_%%i!        <nul
    )
    echo.
)
pause