- 帖子
- 11
- 积分
- 14
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2012-1-12
|
好纠结啊,为什么非要用复制的才能成功输出,很仔细的对了每个字符了啊,而且都是英文状态
附图
[attach]4860[/attach]
123.bat输出不了,ivor.bat是直接复制的代码可以运行。
求解如下问题:
token=1-7 指的是1到7列字符串是吗?以空格为分隔符。
%%e对应的是!str:~0,7!(偏移0,截取第5列从左到右7个字符)
%%a、%%b、%%c、%%d、%%f、%%g对应的是第1、2、3、4、6、7列
他们之间的间隔是多少呢?对应要提取的文本里面的实际间距吗?
最后代码写成6行,只是为了好看吗?可不可以写成2行。
如:
@echo off & setlocal enabledelayedexpansion
for /f "tokens=1-7" %%a in (tel.txt) do (set str=%%e echo %%a %%b %%c %%d !str:~0,7! %%f %%g >>c.txt)
再附张图说明
[attach]4863[/attach]
附代码
[attach]4864[/attach][attach]4865[/attach]
我重打了一遍代码就可以了,唉。。
不知道有没有什么工具可以查询看是哪个字符出错的。。
那个间距差不多搞明白了,set str=%%e之后是要回车,echo不能同行,不然输出为空。
%%a %%b之间输出的间距是对应实际要输出的。
%%a空一格%%b空一格%%c空13格%%d以此类推。
现在的问题是截取的字符会影响到后面输出的格式,如图。
[attach]4866[/attach]
我觉得应该要对第6列的输出做下处理,要怎么写呢?? |
|