无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3635|回复: 8
打印 上一主题 下一主题

[求助] 如何写批处理把每个分区root一遍

[复制链接]
跳转到指定楼层
1#
发表于 2016-10-25 10:30:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
比如磁盘中有4个分区,如何写一个批处理,批处理中的root命令把每个分区root一遍
推荐
发表于 2016-10-25 11:15:14 | 只看该作者
试试:

find /.../my_file my_bat_file



find my_bat_file

当 my_bat_file 开始执行时,它就是以该分区为当前 root 分区的。

点评

我在每个分区下入批处理文件t,t的内容如下: !BAT echo %@root% 启动grub4dos,执行find t 结果如下: (hd0,0) 这应该是find的结果 (下同) (hd0,0) 这应该是 t 执行的结果 路径确实为t所在的分区  详情 回复 发表于 2016-10-25 14:52
谢谢回复 我去试一试  详情 回复 发表于 2016-10-25 11:25
回复

使用道具 举报

2#
发表于 2016-10-25 10:45:35 | 只看该作者
你 find 时,find 就要经过所有的分区(其实是逐个枚举)。当 find “路过” 某个分区时,该分区就已经被 root 一次了(不然的话,怎可能知道该分区有没有要找的文件呢?因此,一定是先把该分区设为当前 root 分区,然后再判断文件是否存在)。路过下一个分区时,也是类似。



点评

谢谢回复 我的意思没表达清楚,抱歉! 原意是自动root一个分区后对该分区进行操作(当然不是手动操作,操作命令在批处理中),操作命令执行完后又自动root一下分区,又对对该分区进行操作,这样依次进行下去  详情 回复 发表于 2016-10-25 11:07
回复

使用道具 举报

3#
 楼主| 发表于 2016-10-25 11:07:11 | 只看该作者
不点 发表于 2016-10-25 10:45
你 find 时,find 就要经过所有的分区(其实是逐个枚举)。当 find “路过” 某个分区时,该分区就已经被 r ...

谢谢回复

我的意思没表达清楚,抱歉!

原意是自动root一个分区后对该分区进行操作(当然不是手动操作,操作命令在批处理中),操作命令执行完后又自动root一下分区,又对对该分区进行操作,这样依次进行下去
--------------------------------------------------------------------------------------------
自动root最后一个分区倒是好办:root endpart  (注意仅对磁盘有效)
回复

使用道具 举报

5#
 楼主| 发表于 2016-10-25 11:25:29 | 只看该作者
不点 发表于 2016-10-25 11:15
试试:

find /.../my_file my_bat_file

谢谢回复

我去试一试
回复

使用道具 举报

6#
发表于 2016-10-25 12:59:30 | 只看该作者
本帖最后由 不知 于 2016-10-25 13:04 编辑

根据不点大师的提示,回去试了一下。发现很有意思。

创建一个bat文件(假设名为command)并放在根目录,内容为
!BAT
root %1
.........(自己的其他命令)

在G4D菜单的调用菜单为

title run my bat
find /command | set path=
find command  %path%/command

1.jpg (101.36 KB, 下载次数: 86)

1.jpg

点评

谢谢回复 在我的硬盘fat32分区中,执行echo !BAT > (hd0,2)/1.inf 后,cat命令查看1.inf,什么内容也没有 执行echo !BAT > (hd0,2)/1.txt后,cat命令查看1.BAT,里面有!BAT 怎么我的echo不能写入inf文件  详情 回复 发表于 2016-10-25 14:59
回复

使用道具 举报

7#
 楼主| 发表于 2016-10-25 14:52:53 | 只看该作者
不点 发表于 2016-10-25 11:15
试试:

find /.../my_file my_bat_file


我在每个分区下放入批处理文件t,t的内容如下:
!BAT
echo %@root%

启动grub4dos,执行find t
结果如下:
(hd0,0)    这应该是find的结果 (下同)
(hd0,0)    这应该是 t 执行的结果  路径确实为t所在的分区 (下同)
(hd0,2)
(hd0,2)
(hd0,4)
(hd0,4)
(hd0,5)
(hd0,5)





回复

使用道具 举报

8#
 楼主| 发表于 2016-10-25 14:59:27 | 只看该作者
不知 发表于 2016-10-25 12:59
根据不点大师的提示,回去试了一下。发现很有意思。

创建一个bat文件(假设名为command)并放在根目录, ...

谢谢回复

在我的硬盘fat32分区中,执行echo !BAT > (hd0,2)/1.inf 后,cat命令查看1.inf,什么内容也没有

执行echo !BAT > (hd0,2)/1.txt后,cat命令查看1.BAT,里面有!BAT

怎么我的echo不能写入inf文件

点评

我那图片是因为我懒得制作bat文件,使用了winvblk中的winvblk.inf,把我的想法用文件重定向写入,你要写入文件必须存在那个文件。按我帖子的文字说明即可,图片为演示find命令。  详情 回复 发表于 2016-10-25 16:07
回复

使用道具 举报

9#
发表于 2016-10-25 16:07:38 来自手机 | 只看该作者
yjqd 发表于 2016-10-25 14:59
谢谢回复

在我的硬盘fat32分区中,执行echo !BAT > (hd0,2)/1.inf 后,cat命令查看1.inf,什么内容也 ...

我那图片是因为我懒得制作bat文件,使用了winvblk中的winvblk.inf,把我的想法用文件重定向写入,你要写入文件必须存在那个文件。按我帖子的文字说明即可,图片为演示find命令。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-14 15:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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