中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 01:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何使用批处理提取变量所在的行! 查看 762 回复 5
楼 主 如何使用批处理提取变量所在的行! 发表于 2008-10-15 20:13 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 31
发帖 15
注册 2007-11-26 15:40
18年会员
UID 103825
性别 男
状态 离线
原文件a.txt内容如下:
2008100122220333333001
2008100222220333333001
2008100322220333333001
2008100422220333333001
2008100522220333333001
2008100122220444444001
2008100222220444444001
2008100322220444444001
2008100422220444444001
2008100522220444444001

怎么写一个批处理实现提取以444444和 20081001为标准的这一行,这2个变量从键盘输入,并保存为 b.txt
2 发表于 2008-10-15 20:48 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
不太明白楼主的意思。从键盘输入?
3 发表于 2008-10-15 20:51 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
set /p var1=第一个变量是啥?
set /p var2=第二个变量是啥?
findstr "%var1% %var2%" "a.txt"
pause
4 发表于 2008-10-15 20:57 ·  中国 广东 深圳 龙岗区 电信
初级用户
积分 31
发帖 15
注册 2007-11-26 15:40
18年会员
UID 103825
性别 男
状态 离线
不好意思,没有说清楚,
我的意思是
从键盘输入 444444 赋予变量1
从键盘输入 20081001赋予变量2
然后检查 a.txt文件,没行中同时存在这2个变量的才输出到 b.bat
5 发表于 2008-10-15 21:20 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
set /p var1=第一个变量是啥?
set /p var2=第二个变量是啥?
findstr "%var1%" "a.txt"|findstr "%var2%"
pause
6 发表于 2008-10-15 21:36 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
@echo off
set /p var1=输入变量1:
set /p var2=输入变量2:
for /f %%a in ('findstr "%var2%.*%var1%" "a.txt"') do if "%%a" neq "" echo %%a>b.txt


[ Last edited by tireless on 2008-10-15 at 21:46 ]
论坛跳转: