中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 08:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教一个搜索,并判断执行的方法 查看 1,174 回复 5
楼 主 请教一个搜索,并判断执行的方法 发表于 2006-11-07 00:26 ·  中国 江苏 南京 电信
初级用户
积分 30
发帖 11
注册 2006-10-21 23:59
19年会员
UID 67594
性别 男
状态 离线
近一段时间在这里学到了不少,先向版主和各位高手道一声谢!
我想在DOS下实现这样一个功能,全盘搜索1.txt,2.txt,3.txt,如果找到1.txt,则执行1.bat(就不需要找2.txt,3.txt,如未找到1.txt,则找2.txt),如找到2.txt(就不需要找3.txt,如未找到2.txt,则找3.txt),则执行2.bat,如找到3.txt,则执行3.bat,如3个文件都没找到返回“未找到指定文件”信息。我试写了几次,都不对,请各位帮忙,谢了。。。
2 发表于 2006-11-07 00:37 ·  中国 江苏 苏州 联通
银牌会员
★★★
积分 1,181
发帖 533
注册 2006-08-14 12:54
19年会员
UID 60484
状态 离线
全盘找,就要按 C D E 一个一个找过去。

比如
C 有 2.TXT
D 有 1.TXT

那你的要求是运行 1 还是 2 呢?
也就是说,C 没有 1.TXT 时是继续在 D 找 1.TXT 还是马上在 C 找 2.TXT ?

你总共几个盘,这批处理是在纯 DOS 下用,还是 CMD 环境下用?
3 发表于 2006-11-07 03:01 ·  中国 江苏 南京 电信
初级用户
积分 30
发帖 11
注册 2006-10-21 23:59
19年会员
UID 67594
性别 男
状态 离线
多谢帮忙,1.txt,2.txt,3.txt都有可能在C、D、E、F盘中,这个批处理在纯dos下使用。C 没有 1.TXT 时是继续在 D、E、F 找 1.TXT,如都没有才去 找 2.TXT 。。。
4 发表于 2006-11-07 03:11 ·  中国 江苏 南京 电信
初级用户
积分 30
发帖 11
注册 2006-10-21 23:59
19年会员
UID 67594
性别 男
状态 离线
如C 有 2.TXT,D 有 1.TXT,发现1. txt,则运行1.bat,其它的则不运行
5 发表于 2006-11-07 04:27 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
a.bat
call b.bat 1 c d e f g h i j k l m n o p q
if %dd%.==1. goto 1
call b.bat 2 c d e f g h i j k l m n o p q
if %dd%.==1. goto 1
call b.bat 3 c d e f g h i j k l m n o p q
if %dd%.==1. goto 1
:1

b.bat
set a=%1
:1
dir/s %2:\%a%.txt
SHIFT
if %2.==. goto a
IF ERRORLEVEL 1 goto 1
set dd=1
%1.bat
:a


[ Last edited by 不得不爱 on 2006-11-6 at 04:29 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +2 2006-11-07 04:39
6 发表于 2006-11-07 09:35 ·  中国 江苏 南京 电信
初级用户
积分 30
发帖 11
注册 2006-10-21 23:59
19年会员
UID 67594
性别 男
状态 离线
多谢版主,我看的不是太懂,学习中
论坛跳转: