中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 10:23
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样在文件中提取某一行命令 查看 2,171 回复 19
楼 主 怎样在文件中提取某一行命令 发表于 2006-11-16 22:21 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
我在论坛上找了好久,,可是也没有找到合适的BAT
所以发贴问一下...可能已经发了好多类似的贴了,.是我没找到而已...

就是我的BAT执行时,..要在OptionFile.txt里边找到一条(一行就是一条命令)...并执行它...

打个比方:
我的OptionFile.txt是这样的


Version=1
D:\ZOUZHXI\OPENCONPUTER\UpC.BAT
D:\ZOUZHXI\OPENCONPUTER\UDC.ZZX
D:\ZOUZHXI\OPENCONPUTER\DoC.BAT
C:\TENCENT\QQ\QQ.BAT
C:\TENCENT\QQ\LANDTIMER.DLL


问题补充:
我要找到C:\TENCENT\QQ\QQ.BAT并执行它!!!
就一句先吧。。


应该怎么样来写...

[ Last edited by zouzhxi on 2006-11-17 at 10:44 PM ]
2 发表于 2006-11-16 22:38 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
怎么“找”?
3 发表于 2006-11-16 23:14 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  把这个东西看完之后,你就会找到解决类似问题的办法了:请点我
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
4 发表于 2006-11-16 23:24 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
用“提取”俩字找的呀。。
5 发表于 2006-11-16 23:46 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
Re: 3F

你提供的资料,我看了,就是看不懂。。。

几个英文能看懂之外其他的都有点模糊不清,,眼睛直冒星星,,,瞬时间感觉头部缺氧。。。。
6 发表于 2006-11-17 00:02 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  给你来两段代码演示一下吧:

@echo off
:: 从文本的第三行起执行命令
for /f "skip=2 delims=" %%i in (OptionFile.txt) do "%%i"



@echo off
:: 执行第三行的命令
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (OptionFile.txt) do (
set /a num+=1
if !num! equ 3 "%%i"
)



@echo off
:: 执行第三行的命令
for /f "tokens=1* delims=:" %%i in ('findstr /n . OptionFile.txt') do if %%i equ 3 "%%j"



@echo off
:: 执行最后一条命令
for /f "delims=" %%i in (OptionFile.txt) do set command=%%i
"%command%"
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
7 发表于 2006-11-17 00:31 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
找第几行是一种找法
找含有 QQ 字符串的行是一种找法
谁知道你要找什么?谁知道你要提什么?
8 发表于 2006-11-17 01:25 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
Re 7F:
我不是否说了吗!!!

就是我的BAT执行时,..要在OptionFile.txt里边找到一条(一行就是一条命令)...并执行它...
9 发表于 2006-11-17 01:40 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线


@echo off
:: 执行第三行的命令
for /f "tokens=1* delims=:" %%i in ('findstr /n . OptionFile.txt') do if %%i equ 3 "%%j"


FINDSTR: 无法打开 OptionFile.txt



@echo off
:: 执行第三行的命令
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (OptionFile.txt) do (
set /a num+=1
if !num! equ 3 "%%i"
)


系统找不到文件 optionFile.txt。




[ Last edited by namejm on 2006-11-16 at 01:06 PM ]
10 发表于 2006-11-17 01:52 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
for /f "delims=*" %%? in ('gsed "/^.*:.*\QQ.BAT$/!{d;p}" OptionFile.txt') do start "%%?"

gsed 下载:http://www.yx127.com/tools.html

[ Last edited by vkill on 2006-11-17 at 01:58 AM ]
11 发表于 2006-11-17 02:07 ·  中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
Re zouzhxi 『第 9 楼』:

  我晕死,你电脑上没那个文件,你还玩什么?
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
12 发表于 2006-11-17 02:15 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
有呀,,,
在同一目录下,两个文件在一起放着。。。


[ Last edited by zouzhxi on 2006-11-17 at 02:18 AM ]
13 发表于 2006-11-17 03:10 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
拼写错误

file

flie
14 发表于 2006-11-17 03:22 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
果然。
以后一定要谨慎。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
15 发表于 2006-11-17 04:02 ·  IANA 局域网IP(Private-Use)
中级用户
★★
蝴蝶之吻
积分 430
发帖 177
注册 2006-09-20 12:00
19年会员
UID 63170
来自 广东深圳
状态 离线
不好意思了。
你的代码没问题,,是我文件名问题,
谢谢你们的回答,已经解决了
论坛跳转: