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
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