无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: mygamexxx
打印 上一主题 下一主题

[已解决] 请教:关于G4D搜索文件的问题

[复制链接]
31#
发表于 2011-8-21 21:43:18 | 只看该作者
注意看说明
1.前辍只支持单级目录。

2.前辍就是文件名的开头部份字符(ls /filepre),和扩展名没有关系。

3.空的参数必须是""否则会出错。例子filpre="",你不可以直接filpre= 这个语法是错误的。

4.前辍只支持一个,不像EXT参数一像支持多个。

比如你可以指定前辍ABC

则就会列出指定ROOT目录下以ABC开头的符合条件的文件。

这个前辍的功能实现了前面mygamexxx 所提到的功能

原帖由 mygamexxx 于 2011-8-17 09:38 发表
查找无扩展名的文件,比如当前根下查找文件名为ABC的文件,应如何设定参数?


使用新版就可以实现参数如下

ext=. filpre=ABC root=()/ cmd="echo %1"

查找当前根目录()/下以ABC开头的无扩展名的文件。


再次提醒:请注意新版cmd参数的变化.

[ 本帖最后由 chenall 于 2011-8-21 21:46 编辑 ]
回复

使用道具 举报

32#
发表于 2011-8-21 23:15:19 | 只看该作者
明白了 已经搞定  空的参数要"" 这个一直没注意 因为之前没有遇到过出错。学习了

另外我觉得filpre只支持单级目录的话 有点浪费
单级目录中出现同一个前缀的还是比较少的 关键是多级目录才容易被记错

所以建议filpre参数和subdir应该结合起来。


if exist m.filpre && set m.subdir=1改成if not exist m.filpre && set m.filpre="" 或删除

后发现可以检测多级目录了,但是路径也必须是 符合输入的前缀的 比如输入w 会列出以w开头的路径中w开头的文件,不是想要的效果(呵呵 不会改)

估计是还要改:生成文件列表 这个标签中的内容。

[ 本帖最后由 tingyue-wu 于 2011-8-22 08:55 编辑 ]
回复

使用道具 举报

33#
发表于 2011-8-22 15:17:12 | 只看该作者
有需要的话下次再改一下.
回复

使用道具 举报

34#
发表于 2011-8-22 20:14:49 | 只看该作者
最后的更新....

[原创] GRUB4DOS 通用模块之文件选择模块[2011-08-22 更新]


2011-08-22 (最终版)
  • 优化了检测代码.
  • filpre支持子目录的检测.
回复

使用道具 举报

35#
发表于 2011-8-22 20:30:24 | 只看该作者
支持更新 chenall真是勤快呀 十分感激 这是我们广大坛友的福音
回复

使用道具 举报

36#
 楼主| 发表于 2011-8-23 08:37:50 | 只看该作者
使用正常,呵呵,只是有一个问题,filpre= ext=.gho参数找不到文件,是否应该设定为查找所有.gho文件。filpre=c ext=.gho可以找到文件名c开头的.gho文件。

[ 本帖最后由 mygamexxx 于 2011-8-23 08:58 编辑 ]
回复

使用道具 举报

37#
发表于 2011-8-23 09:13:46 | 只看该作者

回复 #36 mygamexxx 的帖子

filpre= ext=.gho 要写成filpre="" ext=.gho  参数空要用""才行 不然出错 之前我也遇到过
回复

使用道具 举报

38#
 楼主| 发表于 2011-8-23 09:21:18 | 只看该作者
谢谢,确实如此。接近完美。

[ 本帖最后由 mygamexxx 于 2011-8-23 09:25 编辑 ]
回复

使用道具 举报

39#
 楼主| 发表于 2011-8-23 09:50:19 | 只看该作者
自动生成的菜单是什么格式的,是否是UTF-8格式,如果要用UNIFONT显示搜索到的中文文件,应该怎么做。

[ 本帖最后由 mygamexxx 于 2011-8-23 10:46 编辑 ]
回复

使用道具 举报

40#
发表于 2011-8-23 11:45:20 | 只看该作者
你可以试试加载UNIFONT字体看看能不能显示中文。理论上是可以的。
回复

使用道具 举报

41#
发表于 2011-8-23 11:46:09 | 只看该作者
空的参数要么就不要写,要么就=""

这两个的效果的一样的,建议空的参数就不要加上去了。
回复

使用道具 举报

42#
发表于 2011-8-23 11:47:26 | 只看该作者

回复 #39 mygamexxx 的帖子

可以显示中文的
回复

使用道具 举报

43#
 楼主| 发表于 2011-8-23 13:51:03 | 只看该作者

回复 #42 tingyue-wu 的帖子

如何显示,我写入加载UNIFONT的句子,无法显示中文。
::自动生成菜单
set ?_n=1
set m.info=File list menu for grub4dos by chenall.\n\t\t for more information please visit

http://chenall.net
if exist m.init && echo %m.init% >> %m.menu%
echo /boot/grub/unifont /boot/grub/U16.bin >> %m.menu%
echo title %title% %m.title% %title%\n\n\t%m.info% >> %m.menu%
echo pause %m.info% >> %m.menu%
echo -e $[0106] %m.info%
echo $[0102] Please wait ...
echo $[1105] Working......
root %m.root%

没办法,只好用gfxmenu,能显示中文。
echo gfxmenu /boot/grub/message1 >> %m.menu%

[ 本帖最后由 mygamexxx 于 2011-8-23 13:53 编辑 ]
回复

使用道具 举报

44#
发表于 2011-8-23 14:53:29 | 只看该作者
我没改批处理文件 只是菜单里用了
unifont ()/BOOT/GRUB/FONTS

然后调用批处理 搜索出来的文件就是显示中文的
回复

使用道具 举报

45#
 楼主| 发表于 2011-8-23 15:06:34 | 只看该作者

回复 #44 tingyue-wu 的帖子

请发个你的UNIFONT 和FONTS,我试一下,难道我下载的有问题?
回复

使用道具 举报

46#
发表于 2011-8-23 15:15:47 | 只看该作者
批处理保存编码是ansi格式吗?

我的字体文件是这里下载的http://bbs.wuyou.net/forum.php?mod=viewthread&tid=183722&extra=page%3D1

[ 本帖最后由 tingyue-wu 于 2011-8-23 15:17 编辑 ]
回复

使用道具 举报

47#
 楼主| 发表于 2011-8-23 15:18:44 | 只看该作者
原来UNIFONT下载的是旧版本,使用新版本正常。
回复

使用道具 举报

48#
 楼主| 发表于 2011-8-23 20:14:31 | 只看该作者
请教C大,grldr 的主菜单(比如menu.lst)调用一个批处理(比如1.bat)显示一个界面,该批处理使用的是VFONT显示中文,保存格式为ANSI。该批处理调用搜索文件的批处理(比如2.bat),搜索文件的批处理使用UNIFONT加载中文字体,返回主菜单时卸载,保存格式为UTF-8。搜索批处理返回的参数为返回主菜单使用configfile /menu.lst无法显示1.bat中设定的界面(可以确定加载了主菜单文件,只是无显示)。使用chainloader /grldr 可以显示1.bat中设定的界面。是什么原因?

[ 本帖最后由 mygamexxx 于 2011-8-23 20:19 编辑 ]
回复

使用道具 举报

49#
发表于 2011-8-23 20:44:21 | 只看该作者

回复 #48 mygamexxx 的帖子

只要加载了字体就会进入图形模式,(卸载字体后还是在图形模式下)

而VFONT只能在控制台下才可以使用.

你可以注意看一下界面上的显示就知道了,一般情况下图形模式显示的速度会比较慢.

解决办法很简单,如果你的菜单需要使用VFONT则在加载VFONT之前加一句
terminal console
回复

使用道具 举报

50#
 楼主| 发表于 2011-8-28 20:25:56 | 只看该作者
c大,你的程序很好,但是无法搜索带点畸形目录下的.gho文件(比如cmd 下用md \back..\创建的目录),不知是否能支持。

[ 本帖最后由 mygamexxx 于 2011-8-28 20:27 编辑 ]
回复

使用道具 举报

51#
发表于 2011-8-28 20:53:52 | 只看该作者

回复 #50 mygamexxx 的帖子

m.cmd       指定每个菜单要执行的命令  ( 必须的其它的都是可选参数.)
m.title        指定菜单标题
m.return    指定返回命令
m.menu     指定菜单位置(默认使用(md)0×210+16来存放菜单)
m.subdir    指定要查找的目录级数,默认1
m.devs      指定要查找的设备(find的参数)
m.init         指定菜单的初始化命令
m.ext         指定扩展名(用于过滤),多个扩展名用双引号每个扩展名之间用空格分隔
                 例: ext=".gho .txt"
m.root       指定根目录.(第一个被检查的目录)比如(hd0,4)/boot/或(hd0,5)
     注:该参数和m.devs参数配合使用时,将会只查找以上路径下的文件.例子:
     指定m.root=(hd0,4)/boot 或 /boot
     则,只会查找符合条件的磁盘/BOOT目录下的文件.
m.dirext     是否检测带扩展名的目录,设为任意值即启用,默认禁用,
                 除非有必要,否则不建议使用,启动这个参数会使得检测的速度变得很慢.
m.filpre   指定文件名前辍,过滤非以filpre参数开头的文件.(测试)
                 

加dirext参数试试,dirext=1
回复

使用道具 举报

52#
 楼主| 发表于 2011-8-28 21:17:56 | 只看该作者

回复 #51 chenall 的帖子

原来是我不会用,问题解决。谢谢C大!!!

[ 本帖最后由 mygamexxx 于 2011-8-28 21:27 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-21 04:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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