中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-06 22:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求把TXT每行设为两个变量 查看 815 回复 4
楼 主 求把TXT每行设为两个变量 发表于 2010-01-28 19:42 ·  中国 广东 江门 电信
新手上路
积分 3
发帖 3
注册 2010-01-27 19:34
16年会员
UID 159613
性别 女
状态 离线
有一个TXT格式如下:

...SYEY{A}327RJH...
...21DD21{A}327RJH33...
...................
..21DD2REDF1{A}327RJH33...

怎么把 {A} 两边的字符各设为一个变量调用?
2 发表于 2010-01-29 16:11 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
只设一行两个变量
@echo off
for /f "tokens=1-3 delims={}" %%a in (ta.txt) do (
set str1=%%a
set str2=%%c
)
echo.%str1%
echo.%str2%
pause
3 发表于 2010-01-29 18:09 ·  中国 河南 开封 电信
新手上路
积分 12
发帖 8
注册 2010-01-24 23:43
16年会员
UID 159393
性别 男
状态 离线
高手。
4 发表于 2010-01-30 10:35 ·  中国 广东 电信
新手上路
积分 3
发帖 3
注册 2010-01-27 19:34
16年会员
UID 159613
性别 女
状态 离线
可以设为两个变量,但有一个问题:如果ta.txt的某行中有 & 或^ 或[]或<等符号时就没有输出变量,如果有> 或>>,这些符号后面部份会生成一个文件.
5 发表于 2010-01-30 12:32 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
@echo off
for /f "tokens=1-3 delims={}" %%a in ('findstr /n .* ta.txt') do (
set str1=%%a
set str2=%%c
setlocal enabledelayedexpansion
set str1=!str1:*:=!
set str2=!str2:*:=!
echo.!str1!
echo.!str2!
endlocal
)
pause
论坛跳转: