中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 01:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助] 文本排列 查看 731 回复 6
楼 主 [求助] 文本排列 发表于 2008-04-08 20:44 ·  中国 山西 临汾 联通
初级用户
积分 29
发帖 11
注册 2006-10-22 08:56
19年会员
UID 67675
性别 男
状态 离线
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 ]
2 来个横排的: 发表于 2008-04-08 21:32 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@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
批处理之家新域名:www.bathome.net
3 发表于 2008-04-08 21:33 ·  中国 山西 临汾 联通
初级用户
积分 29
发帖 11
注册 2006-10-22 08:56
19年会员
UID 67675
性别 男
状态 离线
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
4 发表于 2008-04-08 22:01 ·  中国 山西 临汾 联通
初级用户
积分 29
发帖 11
注册 2006-10-22 08:56
19年会员
UID 67675
性别 男
状态 离线
re abcd :
"str1=!str1! %%i" 不懂. !str! = ?
5 发表于 2008-04-08 22:13 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
来个排版整洁点的。
:

@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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
abcd +3 2008-04-08 22:25
致精致简!
6 发表于 2008-04-08 22:24 ·  中国 山西 临汾 联通
初级用户
积分 29
发帖 11
注册 2006-10-22 08:56
19年会员
UID 67675
性别 男
状态 离线
re 26933062:
效果不错. a!m!=%%a!m!%% !n:~0,10! 是什意思. 看着头大.
7 发表于 2008-04-08 22:40 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
再跟个

@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
简单!简单!再简单!
论坛跳转: