无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3178|回复: 5
打印 上一主题 下一主题

[求助] 有办法仅在某硬盘上进行find操作么?

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-19 16:55:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发现find命令默认搜索所有被支持的分区,且按hd0、hd1的顺序进行搜索。。。?!

有没有办法,让find命令仅搜索指定硬盘的各个分区中特定位置的么?

例如:从(hd1)的ud启动,想要搜索(hd1)上(hd1,3)根目录的bootmgr,而(hd0,1)根目录有一个老版本bootmgr文件,结果如果用find --set-root /bootmgr,老是被定位到(hd0,1)那个老版本的bootmgr,有什么办法么?
2#
发表于 2015-3-19 17:05:55 | 只看该作者
即然已经确定了(hd1,3)上有bootmgr,那还有必要使用find吗?直接使用绝对路径不就行了.

如果一个find不能满足你的要求,你还可以再加其它条件比如下面的会同时查找bootmgr和test.flg文件,
find --set-root /bootmgr if exist /test.flg

后面还可以继续if exist PATH判断另一个文件再比如需要同时存在bootmgr a.txt b.txt c.txt这四个文件
find --set-root /bootmgr if exist /a.txt if exist /b.txt if exist /c.txt

总之只要你的条件没问题,那查找到的结果就不会有问题.

点评

谢谢C大大! 是这样的,因为我经常在虚拟机里同挂几个设备(多硬盘多光驱等),而且端口位置经常变动。。 我希望知道的是—— 某hd*不止一个分区,而被搜索的目标文件在此hd*上的某个分区,可能是ud分区,  详情 回复 发表于 2015-3-19 17:48
回复

使用道具 举报

3#
 楼主| 发表于 2015-3-19 17:48:11 | 只看该作者
chenall 发表于 2015-3-19 17:05
即然已经确定了(hd1,3)上有bootmgr,那还有必要使用find吗?直接使用绝对路径不就行了.

如果一个find不能 ...

谢谢C大大!

是这样的,因为我经常在虚拟机里同挂几个设备(多硬盘多光驱等),而且端口位置经常变动。。

我希望知道的是——

某hd*不止一个分区,而被搜索的目标文件在此hd*上的某个分区,可能是ud分区,或是其他常规分区上。
如果从(hd1)上启动,那只在(hd1)上搜索指定文件,不要到(hd0)等其他设备上搜索(因为其他硬盘可能存在一样的文件目录结构,但同名文件实际上内容不同)。
回复

使用道具 举报

4#
发表于 2015-3-19 20:50:29 | 只看该作者
这个估计你需要自己想办法,想不搜hd0也是有办法的,只需要添加一个判断当前是否是hd0就行了.方法有很多,比如下面的语法
只查找hd1-hd5

find --devices=h --set-root /bootmgr checkrange 0x81:0x85 read 0x82a0

点评

谢谢C大大! 哈,原来还有这语法,太妙了这个,这正是我想知道的结果,谢谢C大大!  详情 回复 发表于 2015-3-19 22:57
回复

使用道具 举报

5#
 楼主| 发表于 2015-3-19 22:57:27 | 只看该作者
chenall 发表于 2015-3-19 20:50
这个估计你需要自己想办法,想不搜hd0也是有办法的,只需要添加一个判断当前是否是hd0就行了.方法有很多,比如 ...

谢谢C大大!

哈,原来还有这语法,太妙了这个,这正是我想知道的结果,谢谢C大大!
回复

使用道具 举报

6#
发表于 2015-3-20 09:02:55 来自手机 | 只看该作者
高级用法!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-7 11:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表