无忧启动论坛

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

[已解决] grub 熱鍵 - 三菜單選擇 - 感謝C大

[复制链接]
跳转到指定楼层
1#
发表于 2011-11-27 12:26:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
嗯....標題下的不倫不類的...(沒辦法 我也不知道該如何 簡敘


今天 突然 心血來潮 看了一下 蛙哥的作品

我產生了一個 怪怪的想法

設 grub4dos mbr


開機 畫面出現

echo -P:0101 $[0107]按$[1105]F10$[0107]轉入 F10.lst


set key=
pause --test-key --wait=20
set /A key=*0x4CB00


if %key%==0x3E00 goto 0x3E00

if %key%==0x4400 goto 0x4200


:Default
configfile /F2.lst
exit


:0x3E00 F4
configfile /F4.lst
exit

:0x4400 F10
configfile /F10.lst
exit

[ 本帖最后由 2011回忆爱情 于 2011-11-28 19:48 编辑 ]
2#
发表于 2011-11-27 12:41:12 | 只看该作者
回复

使用道具 举报

3#
 楼主| 发表于 2011-11-27 12:54:07 | 只看该作者


噗....  c大沒提醒 我都忘了 有這東西


萬分感謝....來去試著修改哩


!BAT
terminal console
clear
echo
echo -P:0101 $[0107]按 $[1105]F10 $[0107] 進入菜單2,無動作進入菜單1
pause --test-key --wait=60

if 輸入F10 goto F10

#此為隱藏菜單
if exist 輸入SHIFT+F10 goto S+F10

if exist goto mini


:mini
configfile ()/menu0.lst

:F10
configfile ()/menu1.lst

:S+F10
configfile ()/menu2.lst


是這樣嗎!?


另外 我是否可以把 .LST 去掉(去除附檔名)  菜單變成
configfile ()/menu2
這樣呢

[ 本帖最后由 2011回忆爱情 于 2011-11-27 14:04 编辑 ]
回复

使用道具 举报

4#
发表于 2011-11-27 14:07:43 | 只看该作者

回复 #3 2011回忆爱情 的帖子

1.差不多,
但你需要把F10或S+F10等换成按键代码,具体的你可以下载我前面链接的文件SYSTOOLS.RAR
里面BOOT\PRELOAD.BAT查看。

2.可以,可以任意扩展名,都没有影响。
回复

使用道具 举报

5#
发表于 2011-11-27 15:54:19 | 只看该作者
pause --test-key --wait=5
set /A key=*0x4CB00 或 set /a key=%@retval%
取得按键代码,然后你可以对比,比如F10
if %key%==0x4400 goto F10

也可以参考我前面链接里面使用的方法,
直接
goto %key% || echo -n
exit
回复

使用道具 举报

6#
 楼主| 发表于 2011-11-27 22:53:45 | 只看该作者
原帖由 chenall 于 2011-11-27 15:54 发表
pause --test-key --wait=5
set /A key=*0x4CB00 或 set /a key=%@retval%
取得按键代码,然后你可以对比,比如F10
if %key%==0x4400 goto F10

也可以参考我前面链接里面使用的方法,
直接
goto %key% ||  ...


怪了  失敗

不管 有無按鈕 都跑到 meun3.lst 去

!BAT
echo -P:0101 $[0107]System Checking... $[1105]F10
pause --test-key --wait=20
set /A key=*0x4CB00

goto %key% || echo -n
exit

:m0
configfile ()/menu3.lst


:m2
configfile ()/menu2.lst

:m1
configfile ()/menu1.lst


!BAT
echo -P:0101 $[0107]System Checking... $[1105]F10
pause --test-key --wait=20
set /A key=*0x4CB00


if %key%==0x4200 goto :m2

if %key%==0x4300 goto :m1


:m0
configfile ()/menu3.lst


:m2
configfile ()/menu2.lst

:m1
configfile ()/menu1.lst
回复

使用道具 举报

7#
发表于 2011-11-27 23:13:06 | 只看该作者
试试
if %key%==0x4200 && goto :m2

if %key%==0x4300 && goto :m1
回复

使用道具 举报

8#
 楼主| 发表于 2011-11-27 23:45:35 | 只看该作者
原帖由 chenall 于 2011-11-27 23:13 发表
试试
if %key%==0x4200 && goto :m2

if %key%==0x4300 && goto :m1


都一樣 會跑去 m0   menu3.lst
回复

使用道具 举报

9#
发表于 2011-11-28 00:08:30 | 只看该作者
0x4200 是F8
0x4300 是F9
按错了吧.

另外最好是补完整一下.
解释一下,可能是你搞错了.....
还有一点,有些机器上F10-F12的按键码可能取不到.
如果按F8转到M2
如果按F9转到M1
其它转到M0

!BAT
echo -P:0101 $[0107]System Checking... $[1105]F10
pause --test-key --wait=20
set /A key=*0x4CB00

if %key%==0x4200 goto :m2
if %key%==0x4300 goto :m1

:m0
configfile ()/menu3.lst
exit

:m2
configfile ()/menu2.lst
exit
:m1
configfile ()/menu1.lst
exit
:m2
configfile ()/menu2.lst
exit
:m1
configfile ()/menu1.lst
exit
回复

使用道具 举报

10#
 楼主| 发表于 2011-11-28 01:45:16 | 只看该作者
原帖由 chenall 于 2011-11-28 00:08 发表
0x4200 是F8
0x4300 是F9
按错了吧.

另外最好是补完整一下.
解释一下,可能是你搞错了.....
还有一点,有些机器上F10-F12的按键码可能取不到.
如果按F8转到M2
如果按F9转到M1
其它转到M0

!BAT
echo ...


结果就是 F8  F9 任意键 通通跳 m0

!BAT
echo -P:0101 $[0107]System Checking... $[1105]F10
pause --test-key --wait=20
set /A key=*0x4CB00

if %key%==0x4200 goto :m2
if %key%==0x4300 goto :m1

:m0
configfile ()/menu3.lst
exit

:m2
configfile ()/menu2.lst
exit

:m1
configfile ()/menu1.lst
exit



为避免机器因素 以下改为使用 F2 F4

if F2
进入 grub4dos 菜单2

if F4
载入 grub4dos 菜单4

if 不按 && 任意键
由硬碟开机


結論 不論如何 皆跳到 menu2.lst (F1 A S D F2 F4 F6 F7 均 一樣結果)
!BAT
echo -P:0101 $[0107]System Checking... $[1105]F10
pause --test-key --wait=20
set /A key=*0x4CB00

if %key%==0x3C00 goto :m2
if %key%==0x3E00 goto :m4

:m0
configfile ()/menu0.lst
exit

:m2
configfile ()/menu2.lst
exit

:m4
configfile ()/menu4.lst
exit

[ 本帖最后由 2011回忆爱情 于 2011-11-28 02:11 编辑 ]
回复

使用道具 举报

11#
发表于 2011-11-28 13:35:15 | 只看该作者
有图为证,正常的。

要么你的输入有误。
要么你的按键有误。

另外可能是你把这个当成一个菜单来执行了。

这是一个批处理。不可以用configfile方式来执行。

你可以在菜单中调用。

12.PNG (5.49 KB, 下载次数: 65)

12.PNG
回复

使用道具 举报

12#
 楼主| 发表于 2011-11-28 13:37:16 | 只看该作者
原帖由 chenall 于 2011-11-28 13:35 发表
有图为证,正常的。

要么你的输入有误。
要么你的按键有误。

另外可能是你把这个当成一个菜单来执行了。

这是一个批处理。不可以用configfile方式来执行。

你可以在菜单中调用。


感謝 c大 幫忙

正常了....(可能是 過程中 修修改改 有些沒注意到吧

另一種 菜單式.... 也搞定 XD

debug -1
default 0
timeout 0
title
echo -P:0101$[0107]ab $[1105]F10 $[0107]munu2.lst
set key=
pause --test-key --wait=20
set /A key=*0x4CB00
if %key%==0x3E00 goto 1
if %key%==0x4400 goto 2
clear
configfile /F2.lst

title 0x3E00
configfile /F4.lst

title 0x4400
configfile /F10.lst
回复

使用道具 举报

13#
发表于 2012-9-9 20:33:34 | 只看该作者

回复 #12 2011回忆爱情 的帖子

楼主,我想求下你解决后的文件包。谢谢。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-2 17:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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