高手解释下批处理全运行

@echooffechoexit|%ComSpec%/kprompte100B400B012CD10B003CD10CD20$_g$_q$_|debug>nulchcp4... @echo off
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul

::下面写上命令
pasue
这是批处理全屏运行的
请高手解释下
我是刚学的.
展开
 我来答
fennng
2007-10-31 · TA获得超过1637个赞
知道大有可为答主
回答量:1892
采纳率:90%
帮助的人:1132万
展开全部
@echo off
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul

这是相当高手才写得出来的吧,懂这个的人都不上百度....

我也看不懂.

把我看得懂的说一下吧.

echo exit 本是显示EXIT,但这里EXIT还有一堆东西,所以也搞不懂了
特别是那个|号,不懂干嘛用! 本来是PIPE,但我看不懂这种用法.两个PIPE!!

%comspec% /k 其实是调用 cmd /k ,
prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_
这段是改变命令提示符,默认的是C:\ 这样. 他改成了

e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20
g
q

可以看出 $_是回车

估计这段要当作参数传递给 debug 命令.

研究了一下,好像是把 exit PIPE 给 %comspec%,于是,再运行完

%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_

之后, 马上又运行了. EXIT,回到原来的命令提示符, 提示符恢复为C:\ 的形式.

第二个|则是把

e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20
g
q

这段 PIPE给DUBUG 命令. 对DUBUG我是一点都不懂,不知道它作了什么. 好像运行后进入全屏的命令提示符.

经实验. 将
e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20
g
q

存成 文本文件 1.txt
再用命令 debug < 1.txt 将达到进入全屏的同样效果. 作者只是巧妙的利用prompt 命令, 来避免了写到文本的麻烦.(这样,就算不可写,也一样能运行)

chcp 437>nul 是把控制台代码页换成英语美国
而且隐藏了成功的提示. 失败的话还是会提示.

graftabl 936>nul

则是把代码页扩展字符的监视器显示 更成中文. 同样 用> NUL 隐藏了输出.

具体怎么回事我也不懂,我只懂要显示英文提示的时候用chcp 437, 从未用过 graftale

参考:

Graftabl

启用可在图形模式下显示扩展字符集的功能。

要点•
此工具在基于 Itanium 的版本的 Windows 操作系统中不可用。

此工具在基于 x64 的版本的 Windows 操作系统中不可用。

语法

graftabl [xxx] [/status]
参数

xxx

指定要以图形模式显示扩展字符的代码页。下表列出了每个有效的代码页标识号及其国家(地区)或语言。
值 国家(地区)

437
美国

850
多语言(拉丁文 I)

852
斯拉夫语(拉丁文 II)

855
西里尔文(俄语)

857
土耳其语

860
葡萄牙语

861
冰岛语

863
加拿大 - 法语

865
日耳曼语

866
俄语

869
现代希腊语

/status

标识 graftabl 正在使用的代码页。

/?

在命令提示符下显示帮助。
注释•
有关使用代码页的信息,请参阅“相关主题”中的 chcp 或 mode(设置设备代码页)。

Graftabl 不更改控制台输入代码页。Graftabl 只影响指定代码页扩展字符的监视器显示。要更改正在使用的代码页,请使用 mode 或 chcp 命令。

了解 graftabl 退出码

下表列出了每个退出码及其简单描述。
退出码 描述

0
已成功装载字符集。未装载过去的代码页。

1
指定了错误的参数。没有采取任何措施。

2
发生文件错误。


可以在批处理程序的 if 命令行上使用 ErrorLevel 参数来处理由 graftabl 返回的退出码。

示例

要将代码页 437(美国)的图形字符集加载到内存中,请键入:

Graftabl 437

要将代码页 850(多语言)的图形字符集加载到内存中,请键入:

Graftabl 850
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式