主题:怎样在硬盘是找资料
weiyi5820
[专家分:0] 发布于 2005-04-20 10:06:00
[em18]如果说我的硬盘上有四个区 A,B,C,D 我想一个一个的在上面查找一个文件
看在那个区里面 我再执行其它命令
回复列表 (共8个回复)
沙发
qb45 [专家分:2880] 发布于 2005-04-20 10:39:00
单击开始-》查找-》文件或者文件夹-》输入要找的文件。。。。。
DOS下用DIS/S 比如你要找QB。EXE 用DIR/S QB。EXE
板凳
莫非白 [专家分:750] 发布于 2005-04-20 14:41:00
[em1]哈哈~~~经典!!!!回答的太经典了。[em12]
3 楼
staa [专家分:3690] 发布于 2005-04-21 00:11:00
看来楼上的也同意45兄的说法,呵呵
不过我想楼主也可能是想用QB来实现这个系统功能。
4 楼
weiyi5820 [专家分:0] 发布于 2005-04-21 09:02:00
说的不错我正是想用QB来做 那位老大帮忙解解啊
5 楼
staa [专家分:3690] 发布于 2005-04-21 22:30:00
我没有搞懂楼主硬盘的ABCD四个区是怎么分出来的。我使出了浑身解数也分不到A和B,还请楼主先讲解一下吧。
6 楼
qb45 [专家分:2880] 发布于 2005-04-22 09:05:00
这个也可以用QB实现!
这个得调用相关的中断,如果你不会用,请看置顶的相关帖子
全盘搜索程序原理:
本程序要用到的 DOS 中断很少,仅为 4EH 和 4FH,功能是查找第一个匹配文件名和继续查找,编程难点是要用到类似于堆栈的数据结构,把找到的子目录名暂时存起来,等当前目录找完后在取出来,然后继续查找下一个目录,方法是开一个缓冲区,定义一个指针,用来指向缓冲区结束的地方。
本程序要用到的 INT 21H 的 4EH 和 4FH 功能如下:
功能号 AH = 4EH
查找第一个匹配文件项 CX = 文件属性 标志 CF 复位 = 成功
找到文件名在 DTA 内
缺省 DTA 在PSP:0080H 处
DS:DX = 要查找的文件名 ASC 字符串 标志 CF 置位 = 出错
AH = 4FH
查找下一个匹配文件项 标志 CF 复位 = 成功
找到文件名在 DTA 内
缺省 DTA 在 PSP:0080H 处
标志 CF 置位 = 出错
DTA 的内容如下:
偏移量 长度 含义
15H 字节 找到文件的属性
16H 字 文件时间
位11-15:小时
位5-10:分
位0-4:秒/2
18H 字 文件日期
位9-15:年-1980
位8-5:月
位0-4:日
1AH 双字 文件大小
1EH 13字节 ASC II 文件名+扩展名
7 楼
qb45 [专家分:2880] 发布于 2005-04-22 09:07:00
如果你不会使用这个资料,可以直接到QBDOS。51。NET的模块发布求助区去下DOS文件调用模块
这个模块可以完成文件、目录列表、磁盘数目、打开、关闭文件等等.......
8 楼
jakessss [专家分:30] 发布于 2005-05-14 13:42:00
这个也可以用QB实现!
这个得调用相关的中断,如果你不会用,请看置顶的相关帖子
全盘搜索程序原理:
本程序要用到的 DOS 中断很少,仅为 4EH 和 4FH,功能是查找第一个匹配文件名和继续查找,编程难点是要用到类似于堆栈的数据结构,把找到的子目录名暂时存起来,等当前目录找完后在取出来,然后继续查找下一个目录,方法是开一个缓冲区,定义一个指针,用来指向缓冲区结束的地方。
本程序要用到的 INT 21H 的 4EH 和 4FH 功能如下:
功能号 AH = 4EH
查找第一个匹配文件项 CX = 文件属性 标志 CF 复位 = 成功
找到文件名在 DTA 内
缺省 DTA 在PSP:0080H 处
DS:DX = 要查找的文件名 ASC 字符串 标志 CF 置位 = 出错
AH = 4FH
查找下一个匹配文件项 标志 CF 复位 = 成功
找到文件名在 DTA 内
缺省 DTA 在 PSP:0080H 处
标志 CF 置位 = 出错
DTA 的内容如下:
偏移量 长度 含义
15H 字节 找到文件的属性
16H 字 文件时间
位11-15:小时
位5-10:分
位0-4:秒/2
18H 字 文件日期
位9-15:年-1980
位8-5:月
位0-4:日
1AH 双字 文件大小
1EH 13字节 ASC II 文件名+扩展名
NED
我来回复