标题: [文本处理] 批处理:怎么把竖排文本转换成横排文本? [打印本页]
作者: marya 时间: 2014-3-25 03:16 标题: 批处理:怎么把竖排文本转换成横排文本?
本帖最后由 marya 于 2014-3-25 11:57 编辑
有个 1.txt 的文本,每行3段文本,例如:
校长室 192.168.18.3 LDYZa3
教导处 192.168.18.4 LDYZa4
总务处 192.168.18.5 LDYZa5
原有代码显示效果(后面2段不用显示):
1.校长室
2.教导处
3.总务处
原代码参考:- set n=0
- for /f "tokens=1,2" %%a in (1.txt) do (
- set /a n+=1
- echo !n!·%%a
- )
复制代码
现在想转化成横排,中间空格分割,并且每排3个数字,超过3个,自动换行到下行显示,效果如下:
1.校长室 2.教导处 3.总务处
这帖似差不多,但本人只略懂皮毛,请高手指点一下,先谢谢!
http://bbs.bathome.net/redirect.php?tid=18971&goto=lastpost
作者: apang 时间: 2014-3-25 10:07
本帖最后由 apang 于 2014-3-25 10:42 编辑
- @echo off & setlocal enabledelayedexpansion
- for /f %%a in (1.txt) do (
- set /a n+=1,m=n%%3
- set /p=!n!.%%a <nul
- if "!m!"=="0" echo,
- )
- pause
复制代码
作者: marya 时间: 2014-3-25 12:05
回复 2# apang
字间隔太密,能否分开一点?横竖分开点易看最好!谢谢!
作者: xxpinqz 时间: 2014-3-25 12:50
本帖最后由 xxpinqz 于 2014-3-25 12:53 编辑
复制代码
<前面的空格就是字段间隔,要宽点就多加几个空格复制代码
复制代码
echo,是行间隔,如果要空一行多加一个&echo,- if "!m!"=="0" echo,&echo,
复制代码
作者: marya 时间: 2014-3-25 16:01
回复 4# xxpinqz
左边距——红箭头处离边太近
作者: apang 时间: 2014-3-25 16:37
- @echo off & setlocal enabledelayedexpansion
- for /f %%a in (1.txt) do (
- set /a n+=1,m=n%%3
- set "s=!s! !n!.%%a"
- if "!m!"=="0" echo,!s!&echo,&set "s="
- )
- if defined s echo,!s!
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |