中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]半年多都没解决的纯DOS批处理问题
« [1] [2] [3] »
作者:
标题: [已解决]半年多都没解决的纯DOS批处理问题 上一主题 | 下一主题
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『楼 主』:  [已解决]半年多都没解决的纯DOS批处理问题

已经求助过很多批处理的高手,但纯DOS下真的太难实现,findstr用不了,大家帮帮忙吧,是否借助第三方工具能实现,简单介绍如下:

纯DOS下,运行某DOS程序Gdisk,屏幕输出文本内容如下

AAA   BBB   CCC   //第一行
xxx   yyy   zzz      //第二行

以上字母皆为替代,只是大概输出如此(输出的这些字符串全部显示在纯DOS画面中,没有生成文本文件)

现在要求判断Gdisk的以上输出,如果第二行中有出现字符串“A01”或"A02",就执行语句go1,如果没有就重启

大概就是这样了,大家提些思路好吗,是否要用到类似input,askenv,aset,xset,strings,wbat,be这些第三方工具?能否给出批处理的大概写法

[ Last edited by xiaofking on 2008-1-14 at 01:20 PM ]

2008-1-11 14:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 2 楼』:  

用NSET就可以解决这个问题!



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2008-1-11 14:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 3 楼』:  

版主。。。能不能根据我的流程写几句看看

2008-1-11 15:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 4 楼』:  

或者给我一个nset的使用方法行不行,我在网上只能找到这么一句
Nset.com 从输出中取得变量以设置,FINDCD -a|NSET CDROM=$1

2008-1-11 15:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 5 楼』:  

只用dos自带的find就可以了

如果只是忽略大小写查找A01,那么
gdisk| find "A01" /i>nul
if errorlevel 1 goto end
:go1
::其它语句
:end

如果指定在第二行忽略大小写查找A01,那么
gdisk | find "" /v/n | find "[2]" | find "A01" /i>nul
if errorlevel 1 goto end
:go1
::其它语句
:end

2008-1-11 19:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 6 楼』:  

find 在纯DOS无法使用....

2008-1-11 21:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 7 楼』:  

纯DOS也无法指定在第几行查找的

2008-1-11 21:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 8 楼』:  

find可以用...但你上面的方法是不行的

2008-1-11 21:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 9 楼』:  

纯DOS下find是外部命令,所以你得找一个DOS下的find



2008-1-11 21:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 10 楼』:  

试过了,无论是运行nset还是find,在纯DOS下都会出现
“未准备写驱动器A”A:放弃,R:重试,F:失败?

证明nset和find都是需要写入缓存的命令。。。没作用啊。。。

2008-1-12 00:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by xiaofking at 2008-1-12 00:35:
试过了,无论是运行nset还是find,在纯DOS下都会出现
“未准备写驱动器A”A:放弃,R:重试,F:失败?

证明nset和find都是需要写入缓存的命令。。。没作用啊。。。

这里有找答案
http://www.cn-dos.net/forum/view ... ge=1&highlight=



第一高手    第二高手

2008-1-12 00:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 12 楼』:  

仔细看过了,问题是我没办法生成一个txt文件,而且  |   这个符号在纯DOS也无法使用,Gdisk -a 后直接输出在画面上的

2008-1-12 00:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaofking
初级用户





积分 72
发帖 31
注册 2007-6-9
状态 离线
『第 13 楼』:  

找了N多个工具,其实问题就是在于如何不用输出txt文件也可以实现这个功能,如果要输出txt文件的话就简单了

2008-1-12 01:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 14 楼』:  

“未准备写驱动器A”A:放弃,R:重试,F:失败?
11楼看到了吗

  Quote:
Originally posted by fastslz at 2008-1-4 12:10:
我猜测分析下是什么原因吧
F应该是你的光盘盘符,你启动的DOS下没有find.com外部命令,而Path变量里有%CDROM%或F:\.....,这个时候DOS就尝试读取光盘下目 ...

我猜测分析下是什么原因吧
猜测1: 你的电脑应该有软驱的,你启动的DOS下没有find.com外部命令,而Path变量里有A:\,这个时候DOS就尝试读取A:\目录下寻找find.com,所以出现一般性错误读驱动器A:\。

猜测2:  你的电脑应该有软驱的,你启动的DOS下没有find.com外部命令,你就拷贝了xp下的find.exe在纯DOS用,xp的find是32位子程序在纯dos下用需要32位支持文件CWSDPMI,而Path变量里有A:\,这个时候DOS就尝试读取A:\目录下寻找CWSDPMI.exe,所以出现一般性错误读驱动器A:\。

无法生成一个txt文件,不是因为 | 符号在纯DOS也无法使用,在猜测2里已经说明了,是因为find 命令没执行成功,没执行成功当然不会生成txt文件



第一高手    第二高手

2008-1-12 01:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 15 楼』:  

lmod 应该可以指定行的 你gdisk先输出不就可以了  是不是一定要输出在画面上呢



简单!简单!再简单!
2008-1-12 01:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: