中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]下面的代码如何在4DOS下运用啊?
« [1] [2] »
作者:
标题: [已结]下面的代码如何在4DOS下运用啊? 上一主题 | 下一主题
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『楼 主』:  [已结]下面的代码如何在4DOS下运用啊?

在4DOS下下面的都不能像以前在DOS下那样显示正常了。

:789
cls
call w.bat box (+white on red) @123456.bat:123
if errorlevel 100 goto exit
if "%?%"=="2" goto boot
if "%?%"=="1" goto 456
:123 " Sorry! " [x]

              失败!
  ~%mob_i%~
  %echo1%

  %echo2%
  
  %echo3%

        [ 详情(&L)]       [ 重启(&R) ]

::



请问我该如何的去弄呢?


当中里面已经有WBAT.INI、WBAT.COM、W.BAT文件了。
W.BAT代码如下:

WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9
set WBAT=
set ?=

我该怎么弄这在4DOS下才能正常显示呢?

[ Last edited by austion on 2008-11-26 at 16:18 ]

2008-11-25 18:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 2 楼』:  

建议你在 4DOS 下重写



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-11-25 19:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 3 楼』:  

我不懂得如何的重写这个啊!
我本来就不懂这个显示的原理是什么。

2008-11-25 19:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 4 楼』:  

我觉得很奇怪啊,在4DOS里的FOR中好像使用 %%i 的不一定能行,使用 %i 还真可以啊。

2008-11-25 20:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 5 楼』:  

要看你哪里用百分号,4DOS 中 FOR 命令用的变量参数 % 和 %% 不论是在命令行中还是在批处理文件中都是可以的,常规的 % 和 %% 用法和 COMMAND 下一样。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-11-25 20:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 6 楼』:  

DOSforever可以帮忙看看1楼的代码怎样改才可以在4DOS下运行跟在DOS下运行的一样。或者有什么办法实现这个?这个其实跟里面的帮助的显示是一样的,只是我不会。
谢谢!

[ Last edited by austion on 2008-11-25 at 21:48 ]

2008-11-25 21:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 7 楼』:  

哎哟——你就这一段我怎么看得懂你要干什么哟,而且 WBAT 我也从来没用过。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-11-25 21:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 8 楼』:  

@echo off
x:
cd\
call tway.bat
call mouse.bat

在1楼的代码前就是上面的这些代码了,

当中的TWAY.BAT就是:
@echo off
tw.exe /np /nm /nw >nul
cls
当中的mouse.bat就是:
@echo off
ctmouse >nul
cls

上面的TW.EXE就是一个显示汉字的,CTmouse.EXE就是鼠标的。这两个应该都不少人用。

2008-11-25 22:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 9 楼』:  

没有代码,你也可以教一下我,你是如何显示菜单的。谢谢!

2008-11-25 22:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 10 楼』:  

无意中找到一份由本盟网友提供的一份资料:
READ4DOS.TXT
里面的内容是:


>>>>>   Read this if you use 4DOS or NDOS


    Make WBAT batches 4DOS compatible
    ---------------------------------

1.  4DOS has an unexpected behaviour when parentheses are used in
    the arguments of a CALL statement. A special 4DOS token in the
    file W.BAT will fix this problem:

    Please change (the first line of) the file W.BAT to: WBAT $W %&
                                               -----     ----------

2.  If WBAT is supposed to run under 4DOS as well as MS-DOS, modify
    W.BAT as follows:

    @if "%@eval[2+2]%" == "4" WBAT $W %&
    @if not "%@eval[2+2]%" == "4" WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9

    Note: These two lines will remain untouched, because WBAT will start
    writing the SET instructions in the first line that does not begin
    with an @-sign.


3.  Remember known 4DOS issues: %+ and %=

    Avoid a plus sign immediately following a variable, like: %pos%+1,
    because "%+" seems to have higer priority under 4DOS.
    Solution: insert blank space, e.g. %pos% +1 (MS-DOS compatible),
    or ommit the second %-sign.

    The same applies to "%=", e.g. SET %name%=something. Solution ??
***


只可惜我的英文能力有限,有不少地方理解不了。

2008-11-25 22:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 11 楼』:  

看了上面,我才了解到一点,难怪我使用set %123%=等的时候都得不到我想要的东西,原来是%=有高执行权,需要在这两个号中加入空格。

   此帖被 +2 点积分     点击查看详情   
评分人:【 DOSforever 分数: +2  时间:2008-11-25 22:58


2008-11-25 22:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 12 楼』:  

谜底解开了,W.BAT代码如下:

WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9
set WBAT=
set ?=

把这个代码改为如下:

WBAT $W %&
set WBAT=
set ?=

就可以用了。

2008-11-25 23:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 13 楼』:  

谜底虽然解开,但是我对上面的:
2.  If WBAT is supposed to run under 4DOS as well as MS-DOS, modify
    W.BAT as follows:

    @if "%@eval[2+2]%" == "4" WBAT $W %&
    @if not "%@eval[2+2]%" == "4" WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9

    Note: These two lines will remain untouched, because WBAT will start
    writing the SET instructions in the first line that does not begin
    with an @-sign.

不太了解,熟悉4DOS的朋友可以讲解一下吗?

2008-11-25 23:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 14 楼』:  

按理说 4DOS 也可以使用 %1 %2 %3 %4 %5 %6 %7 %8 %9 这样的参数形式,为什么要改成 %& ?这是 WBAT 的要求,对 WBAT 不是很了解。



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-11-25 23:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
austion
初级用户





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 15 楼』:  

我对4DOS也不是很了解,对于%&不懂这个代表什么。
我今天才接触4DOS。

2008-11-25 23:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: