无忧启动论坛

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

借人气求find相关bat代码

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-11 18:02:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想做个程序需要自动查找硬盘上Grub.exe位置,找到后自动运行. 搜索所有硬盘分区 查找"/boot/Grub.exe" 的位置并运行

知道可以用FIND命令编写bat搞定,但本人水平太菜.请各位高手给写个简单的BAT.
2#
发表于 2007-12-18 08:32:55 | 只看该作者
我也想知道,帮你顶.高手们不屑于回答吗
回复

使用道具 举报

3#
发表于 2007-12-19 07:43:28 | 只看该作者
不用find的
用for循环
用if exist来判断是否存在

这样就全部用内部命令了
find是外部程序
不如内部命令方便

因为DOS下的for循环不支持带括号的多条语句
也不支持在循环结果中实用goto语句
所以需要两个bat
一个bat是循环
另外一个bat是判断文件


例如A.bat内容

for %%i in (z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c) do call findgrub.bat %%i

然后建立一个findgrub.BAT
内容如下

if exist %1:\boot\grub.exe %1:\boot\grub.exe
回复

使用道具 举报

4#
发表于 2007-12-19 21:12:54 | 只看该作者
很好的,我刚学会用这个批处理了!
回复

使用道具 举报

5#
发表于 2007-12-20 08:43:00 | 只看该作者
好的,又学了一招.........
回复

使用道具 举报

6#
发表于 2008-1-15 23:06:40 | 只看该作者
谢谢,又学到了一条命令,,
回复

使用道具 举报

7#
发表于 2008-1-16 19:49:23 | 只看该作者
  3楼的解释已经非常详细了,不过,用一个批处理文件似乎也是可行的(没有测试环境,尚未测试):

  1. @echo off
  2. for %%i in (z,y,x,w,v,u,t,s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c) do if exist %%i:\boot\grub.exe start %%i:\boot\grub.exe
复制代码
回复

使用道具 举报

8#
发表于 2008-1-16 22:52:13 | 只看该作者
很好的啊,我学会了,我也很想知道的!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 16:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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