Board logo

标题: [求助] 文本排列 [打印本页]

作者: wwmy1982     时间: 2008-4-8 20:44    标题: [求助] 文本排列

C 0.0
C 0.0
WSW 2.0
ESE 1.0
SE 2.0
SE 2.0
NW 2.0
N 2.0
SE 1.0
NE 1.0
W 4.0
C 0.0
以上文本排列成:(按顺序每4个一组进行如下排列) 最后将结果输出到一个文本文档中.

C 0.0          SE 2.0      SE 1.0
C 0.0          SE 2.0      NE 1.0
WSW 2.0    NW 20      W 4.0
ESE  1.0      N 2.0        C 0.0

[ Last edited by wwmy1982 on 2008-4-8 at 09:28 PM ]
作者: bat-zw     时间: 2008-4-8 21:32    标题: 来个横排的:


@echo off
for /f "tokens=1*" %%i in (a.txt) do call :lp %%i %%j
pause& goto :eof
:lp
set /a n+=1
set str=%str% %1%2
if %n% equ 4 echo %str%&set str=&set n=0
goto :eof

作者: wwmy1982     时间: 2008-4-8 21:33
re abcd :
  感谢兄的及时答复, 结果不完全正确:
0.0 SE 2.0  SE 1.0
0.0 SE 2.0  NE 1.0
SW 2.0  NW 2.0  W 4.0
SE 1.0  N 2.0  C 0.0
作者: wwmy1982     时间: 2008-4-8 22:01
re abcd :
"str1=!str1!  %%i"  不懂.   !str! = ?
作者: 26933062     时间: 2008-4-8 22:13
来个排版整洁点的。
:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.txt) do (
  set /a m+=1&set "n=%%i                        "
  call set a!m!=%%a!m!%% !n:~0,10!
  if !m! equ 4 set m=0
)
for /l %%a in (1 1 4) do echo !a%%a!
echo.&pause
[ Last edited by 26933062 on 2008-4-8 at 10:15 PM ]
作者: wwmy1982     时间: 2008-4-8 22:24
re 26933062:
   效果不错.  a!m!=%%a!m!%% !n:~0,10!  是什意思. 看着头大.
作者: terse     时间: 2008-4-8 22:40
再跟个
@echo off&setlocal enabledelayedexpansion
for /l %%a in (1,1,4) do (
set n=
for /f "delims=" %%i in (b.txt) do (
     set/a n+=1
     if !n! equ %%a set str=%%i&set/a m=!n!+4
     if !m! equ !n! set str=!str! %%i&set/a m+=4
    )
    echo !str!
    set str=
  )
pause