中国DOS联盟论坛

中国DOS联盟

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

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

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





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

在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! "

失败!
~%mob_i%~
%echo1%

%echo2%

%echo3%



::



请问我该如何的去弄呢?


当中里面已经有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 楼』:   使用 LLM 解释/回答一下

建议你在 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 楼』:   使用 LLM 解释/回答一下

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


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





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

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


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





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

要看你哪里用百分号,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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

哎哟——你就这一段我怎么看得懂你要干什么哟,而且 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 楼』:   使用 LLM 解释/回答一下

@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 楼』:   使用 LLM 解释/回答一下

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


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





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

无意中找到一份由本盟网友提供的一份资料:
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 楼』:   使用 LLM 解释/回答一下

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


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


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





积分 178
发帖 82
注册 2006-5-12
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

谜底解开了,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 楼』:   使用 LLM 解释/回答一下

谜底虽然解开,但是我对上面的:
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 楼』:   使用 LLM 解释/回答一下

按理说 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 楼』:   使用 LLM 解释/回答一下

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


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

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: