|
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
状态 离线
|
|
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
状态 离线
|
|
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
状态 离线
|
|
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%=等的时候都得不到我想要的东西,原来是%=有高执行权,需要在这两个号中加入空格。
|
|
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
状态 离线
|
|
2008-11-25 23:14 |
|
|
austion
初级用户
积分 178
发帖 82
注册 2006-5-12
状态 离线
|
『第
15 楼』:
我对4DOS也不是很了解,对于%&不懂这个代表什么。
我今天才接触4DOS。
|
|
2008-11-25 23:37 |
|