![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 15:52 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]下面的代码如何在4DOS下运用啊? |
| 可打印版本 1,763 / 16 |
| 第1楼 austion | 发表于 2008-11-25 18:30 |
| 初级用户 发帖 82 积分 178 | |
|
[已结]下面的代码如何在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! " 失败! ~%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 ] |
|
| 第2楼 DOSforever | 发表于 2008-11-25 19:15 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
建议你在 4DOS 下重写
|
|
| 第3楼 austion | 发表于 2008-11-25 19:48 |
| 初级用户 发帖 82 积分 178 | |
|
我不懂得如何的重写这个啊!
我本来就不懂这个显示的原理是什么。 |
|
| 第4楼 austion | 发表于 2008-11-25 20:14 |
| 初级用户 发帖 82 积分 178 | |
|
我觉得很奇怪啊,在4DOS里的FOR中好像使用 %%i 的不一定能行,使用 %i 还真可以啊。
|
|
| 第5楼 DOSforever | 发表于 2008-11-25 20:49 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
要看你哪里用百分号,4DOS 中 FOR 命令用的变量参数 % 和 %% 不论是在命令行中还是在批处理文件中都是可以的,常规的 % 和 %% 用法和 COMMAND 下一样。
|
|
| 第6楼 austion | 发表于 2008-11-25 21:47 |
| 初级用户 发帖 82 积分 178 | |
|
DOSforever可以帮忙看看1楼的代码怎样改才可以在4DOS下运行跟在DOS下运行的一样。或者有什么办法实现这个?这个其实跟里面的帮助的显示是一样的,只是我不会。
谢谢! [ Last edited by austion on 2008-11-25 at 21:48 ] |
|
| 第7楼 DOSforever | 发表于 2008-11-25 21:51 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
哎哟——你就这一段我怎么看得懂你要干什么哟,而且 WBAT 我也从来没用过。
|
|
| 第8楼 austion | 发表于 2008-11-25 22:17 |
| 初级用户 发帖 82 积分 178 | |
|
@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就是鼠标的。这两个应该都不少人用。 |
|
| 第9楼 austion | 发表于 2008-11-25 22:18 |
| 初级用户 发帖 82 积分 178 | |
|
没有代码,你也可以教一下我,你是如何显示菜单的。谢谢!
|
|
| 第10楼 austion | 发表于 2008-11-25 22:36 |
| 初级用户 发帖 82 积分 178 | |
|
无意中找到一份由本盟网友提供的一份资料:
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 ?? *** 只可惜我的英文能力有限,有不少地方理解不了。 |
|
| 第11楼 austion | 发表于 2008-11-25 22:45 |
| 初级用户 发帖 82 积分 178 | |
|
看了上面,我才了解到一点,难怪我使用set %123%=等的时候都得不到我想要的东西,原来是%=有高执行权,需要在这两个号中加入空格。
|
|
| 第12楼 austion | 发表于 2008-11-25 23:01 |
| 初级用户 发帖 82 积分 178 | |
|
谜底解开了,W.BAT代码如下:
WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9 set WBAT= set ?= 把这个代码改为如下: WBAT $W %& set WBAT= set ?= 就可以用了。 |
|
| 第13楼 austion | 发表于 2008-11-25 23:02 |
| 初级用户 发帖 82 积分 178 | |
|
谜底虽然解开,但是我对上面的:
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的朋友可以讲解一下吗? |
|
| 第14楼 DOSforever | 发表于 2008-11-25 23:14 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
按理说 4DOS 也可以使用 %1 %2 %3 %4 %5 %6 %7 %8 %9 这样的参数形式,为什么要改成 %& ?这是 WBAT 的要求,对 WBAT 不是很了解。
|
|
| 第15楼 austion | 发表于 2008-11-25 23:37 |
| 初级用户 发帖 82 积分 178 | |
|
我对4DOS也不是很了解,对于%&不懂这个代表什么。
我今天才接触4DOS。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |