标题: [文本处理] 读取文本内容后设置为变量 [打印本页]
作者: lzwudi 时间: 2008-10-28 21:12 标题: 读取文本内容后设置为变量
假设A.TXT内容如下(内容不固定):- 19830608 26ZHU
- 19840726 25SHU
- 19850319 24NIU
复制代码
读取A.TXT内容后:
把19830608设置变量为A1
把26ZHU设置变量为A2
把19840726设置变量为B1
把25SHU设置变量为B2
把19850319设置变量为C1
把24NIU设置变量为C2
代码越精简越好,运行时间越少越好!
请指教!
作者: pusofalse 时间: 2008-10-28 21:34
- @echo off&setlocal enabledelayedexpansion
- set "var=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
- for %%a in (%var%) do set /a nn+=1 & set "_!nn!=%%a"
- for /f "tokens=1*" %%a in (a.txt) do (
- set /a aa +=1
- call set "%%_!aa!%%1=%%a"
- call set "%%_!aa!%%2=%%b"
- )
- for %%a in (%var%) do (
- for %%i in (1 2) do (
- if defined %%a%%i echo %%a%%i: !%%a%%i!
- ))
- pause
复制代码
[ 本帖最后由 pusofalse 于 2008-10-28 21:47 编辑 ]
作者: lzwudi 时间: 2008-10-28 21:39
请问此文本中有多行字符可以做到吗?
作者: Batcher 时间: 2008-10-28 21:40 标题: 回复 3楼 的帖子
请问你能亲自做下测试再提问吗?
作者: pusofalse 时间: 2008-10-28 21:43 标题: 回复 3楼 的帖子
上面的代码你测试过了吗??
多行?多少行?一共就26个字母,也就最多只能26行,超过26行,引用变量时就会出错,因为赋值的是1、2、3,用%1% %2%引用变量时会被误当作%1、%2、%3 参数处理。。。你说应该怎样做?、、、
作者: lzwudi 时间: 2008-10-28 21:46
别急别急,我只是好奇,想问问,不明白嘛!惹你生气了,我就是有死不要脸的精神,^_^
作者: Batcher 时间: 2008-10-28 21:49 标题: 回复 6楼 的帖子
本论坛提倡先亲自测试后提问的精神
作者: jellyhk 时间: 2008-10-29 03:59
完全看不懂!
看起眼睛花呢!
我只知道 < 可以付值
作者: Batcher 时间: 2008-10-29 09:58 标题: 回复 8楼 的帖子
那就多看看for的教程吧
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |