因为SYBC被设计为内嵌于脚本中,你可以不在磁盘中生成
SYBC.COM文件.
而是直接把他从
脚本中释放到内存,并
在内存中运行.
当然如果你愿意,它也可以像一般三方工具那样被使用.
好吧,大家首先是要
截图和
下载地址,截图就在下边,是cmd脚本的实图哦!
至于下载地址,既然内嵌了,又何须下载?吧下面代码保存为cmd运行即可生成SYBC.com(此代码版本1.1.21 更新日期2010-3-10)
SET SYBCOM=A100;80BE AC00 23C 5472 3CAC 7501 BE13 282;0EEB 3CAC 743A 3C09 740D 8347 1EE 46EB;E8AC 90 A2E8 3C00 7F18 8837 E8C6 84;96E8 3C00 7F4F 882B B0C2 F602 50E2 A0B0;E6F6 15F 57C7 3CAC 7424 E80A 67 45E8;8800 EBD1 E817 3B D188 10EB B0 16CD;E088 4CB4 21CD 815F A0C7 5700 B850 B800;0750 295A 88F5 ACCA 243C D974 3B3C 9274;0D3C DE74 233C 575 D783 EB01 AA01 D088;EBAA E8E4 1E C387 393C 27E 904 FB80;7E39 8003 9C3 F24 E380 B20F F610 E2;88D8 C3C2 3CAC 7420 3CFB 740D 88A5 ACC3;203C F074 D3C 9A74 87C3 2CC3 8030 30EB;0AB4 E4F6 D800 C3
SET V=;RCX;D7;N SYBC.COM;W;Q
if not exist sybc.com (ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
-------------------------------------------------------------------------------
好吧,现在大家手上应该有SYBC.com文件了吧,没有就生成一个.
接下来的问题是
SYBC应该怎么用,SYBC分为
基础与
高级2中语法,(2者仅在速度上有差别,最终效果一至)
可以
以SYBC.com文件形式运行,也可以
直接运行于内存.(后者略快)
-------------------------------------------------------------------------------
使用SYBC之前需要初始化(特别是win2000/XP),
初始化的方法很简单,首先如果你要使用中文,需要在你的代码开头加上
"(CHCP 437 &GRAFTABL 936)>NUL"
然后你需要
运行一次无参数的SYBC,用户按任意键后初始化完成.:[语法图第1例]
(由于没有提示,所以建议大家最好用echo告知用户要按任意键)
-------------------------------------------------------------------------------
基础语法:[语法图第2例]
SYBC
位置颜色内容
SYBC
10303$F1SYBN#s
位置 5位数字第23位为行数第45位为列数
颜色 用$引导的2个16进制数,同color命令
内容 任意字符串 (注意不要使用$#;三个符号以免冲突)
#号 无内容,保留此位置原内容仅改变颜色
$号 允许存在多个$号,分别控制之后的字符颜色
-------------------------------------------------------------------------------
利用
基础语法可以实现SYBC的全部效果,
如果觉得速度不满意,可以使用高级语法,
把多行
基础语法合并成一行
高级语法从而减少调用次数以加速.
不论使用什么语法,没次调用SYBC的时间都约0.01秒,瓶颈在硬盘的响应速度.
另外使用内嵌式调用,跳过磁盘直接运行SYBC可以进一步提高速度,但会牺牲代码可读性.
-------------------------------------------------------------------------------
高级语法:
[语法图第3例]
SYBC 10303$F1SYBN;2010
效果同
SYBC 10303$F1SYBN
SYBC 10403$F12010
分号 是换行符可以再上一行的起点列从启一行继续
如果不使用换行符而写一个很长的字符串,则会像echo那样自然换行.
[语法图第4例]
SYBC 10303$F1SYBN;:10401$F12010
效果同
SYBC 10303$F1SYBN
SYBC 10401$F12010
分号冒号 效果类似于脚本中的&符,可以吧两个SYBC命令连接在一起使用.
这样你几乎就可以吧所有连续出现的sybc命令合并成一行,速度会快很多.
--------------------------------------------------------------------------------
不过大家要注意com程序的参数是有长度限制的.
理论长度为127,实际可用长度为124,超过124则无法执行了!
当然,如果你使用后面的内嵌式调用,则没有这个限制了!
--------------------------------------------------------------------------------
内嵌式调用:
使用DEBUG可以方便的调用com程序,之前生成SYBC.com用的就是DEBUG,
我们是要稍微修改就可以用于内嵌式调用了!
首先,把SYBC.com的代码以16进制的形式保存在变量SYBCOM中
SET SYBCOM=A100;80BE AC00 23C 5472 3CAC 7501 BE13 282;0EEB 3CAC 743A 3C09 740D 8347 1EE 46EB;E8AC 90 A2E8 3C00 7F18 8837 E8C6 84;96E8 3C00 7F4F 882B B0C2 F602 50E2 A0B0;E6F6 15F 57C7 3CAC 7424 E80A 67 45E8;8800 EBD1 E817 3B D188 10EB B0 16CD;E088 4CB4 21CD 815F A0C7 5700 B850 B800;0750 295A 88F5 ACCA 243C D974 3B3C 9274;0D3C DE74 233C 575 D783 EB01 AA01 D088;EBAA E8E4 1E C387 393C 27E 904 FB80;7E39 8003 9C3 F24 E380 B20F F610 E2;88D8 C3C2 3CAC 7420 3CFB 740D 88A5 ACC3;203C F074 D3C 9A74 87C3 2CC3 8030 30EB;0AB4 E4F6 D800 C3
然后把DEBUG指令保存在变量V中
SET V=;A80;DB 10 00 "10303$F1SYBN2010" 0D;;RCX;F0;G;Q
注意10是指参数长度的16进制值,在1.1.21版中它已经没用了,不用管它照着写或写别的16进制值都行.
"10303$F1SYBN2010"就是参数了,记得两边加上冒号,这里的参数长度限制大约为65个字节
最后在调用它们
(ECHO.%SYBCOM:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
---------------------------------------------------------------------------------------------------------
当然你还是没有突破124参数限制,反而限制降低到了约65字节,
如何突破限制呢?修改变量V的值就可以了.
SET V=;A80;DB 10 01;; A280;DB 10 00 "10303$F1SYBN";DB "2010-";DB "3-16" 0D;;RCX;F0;G;Q
大家不需要管为啥要这样写,只需要知道你可以吧参数分段,每段少于65字节,写在引号里就好了,
你可以写无限多个DB "XXXXXXXX"注意最后一个要加上0D不要忘记0D前的空格就好.
如有问题联系QQ:354324773