返回首页

{A}
{S0}简介
批处理文件是有用的处理重复性的任务。然而,他们缺乏一些用户友好的功能,如彩色控制台输出。彩色的输出可能是有用的的,提请注意的重要信息。 Win32 API提供了一些有用的功能与控制台交互(见在MSDN)。但在批处理文件中,唯一可用的命令是彩色的。颜色"命令只定义了整个窗口控制台的颜色。
cecho颜色支持增强回声命令行实用程序,由{A3}启发。
最后一节介绍了如何嵌入到一个批处理文件使用DEBUG.EXE程序(Windows Vista中,直到)cecho实用工具。使用代码
cecho简单解析后的颜色信息的标准输出重定向命令参数。 cecho参数包括:{XX}:作为两个十六进制数字编码的颜色。例如,{0A}浅绿色{颜色}:理解文本的颜色信息。例如,{淡红色黑色}{\ N \ T}:新行字符 - 制表符。{\ u0000的}:Unicode字符代码。{{:转义字符'{'。{#}:恢复初始的颜色。
可选颜色:0 =黑8 =灰1 =海军9 =蓝色2 =绿色=石灰3 =水鸭B = AQUA4 =栗色C =红色5 =紫色D =紫红色6 =橄榄E =黄色7 =银F =白色
示例批处理文件:

@echo off



cecho {0C}This line is red{#}



REM Print ASCII char 0x07 (beep) 

cecho {\u07 \u07}



cecho This {black on blue}word{#} is black on a blue background



...

更改记录:在cecho V2.0,{0X00} ASCII码已经由{\ u0000的} Unicode字符代替。内部cecho彩色的控制台输出
上色是非常简单的控制台输出。只需拨打SetConsoleTextAttribute与正确的颜色代码的Win32 API。所有其他的控制台输出将显示在指定的颜色。我们将稍后解释tokStack。{C}解析命令参数
根据的cecho文档,解析命令参数可以通过以下的解析树中所述:
图1:解析树

回答

评论会员:erkon 时间:2011/12/07
命令行参数之间的空格被忽略
cecho blah          blah
产生
blah blah

blah          blah
这是呼应的默认行为
评论会员:。托马斯Polaert 时间:2011/12/07
你说得对。我以前从来没有注意到它

这是因为cecho进程的命令行作为数组发送字符串(INT ARGC,CHAR * ARGV [])。我不知道如何保持在命令行中的空格。

作为一种变通方法,您可以用带引号的命令行:
cecho "blah         blah"

评论会员:erkon 时间:2011/12/07
是这样的作品
作为一个建议,你可以使用
LPTSTR WINAPI GetCommandLine(void);
WINAPI函数来检索命令行的完整路径和参数
评论会员:托马斯Polaert 时间:2011/12/07
。GetCommandLine
更新
有一件事我注意到,与Vista开始,有一个额外的空间EXE和论据之间的。
例如:
LT; exe_pathgt; LT; argsgt; (XP),
LT; exe_pathgt; LT; argsgt; (Vista中,7)
|会员5406779
评论会员:游客 时间:2011/12/07
,才有可能添加一个方法来获得返回到默认的颜色类似:cecho{默认}
托马斯Polaert
评论会员:游客 时间:2011/12/07
我知道我不应该要求它,而不是自己编译的源代码,但如何做到这一点,我绝对毫无章法......所以我问:难道可以张贴这个优良,AWSTANDING实用工具,编译下运行的WinPE/WinRE的64位,没有魔兽支持32位应用程序
??Codiah
评论会员:游客 时间:2011/12/07
高J.加布里埃尔我建了一个x64版本的cecho。检查{A4}让我知道结果。托马斯
托马斯Polaert
评论会员:游客 时间:2011/12/07
绝对大。感谢一百万。真的很有帮助。工作完美无缺。有一个超级2010
!psonar
评论会员:游客 时间:2011/12/07
有没有人经历和WindowsVista的任何问题。当我尝试运行这个EXE或嵌入式。测试的原始文件和重建矿井之一..和它给了我一些副作用端错误。但只在我的Vista机器
。托马斯Polaert
评论会员:游客 时间:2011/12/07
运行良好,在我的Vista的专业版SP1不过,我没有x64平台上进行测试。如果你能找到什么是错的,请分享细节
。邮件转发
评论会员:游客 时间:2011/12/07
是通过这个项目计划cecho.exe免费提供作为其他软件包的一部分分发?,如果我是一个软件包使用命令提示符界面和使用cecho.exe某种,我可以使界面变得更加鲜明,但这样做也使cecho.exe提供给任何人下载该软件。{BR}如果可以自由发布,你会称之为公共领域,或者我应该举作者在学分?这是一个奇妙的软件一块,我希望能够使用它。感谢。
托马斯Polaert
评论会员:游客 时间:2011/12/07
。您可以自由使用,分发和你想以任何方式修改cecho.exe它给你举我的学分或不。我希望你会发现这个软件非常有用。
雅各布博姆
评论会员:游客 时间:2011/12/07
如果您使用的cecho.exeUPX在运行bin2dbg之前,你可以减少约60行嵌入式由此产生的大小
托马斯Polaert
评论会员:游客 时间:2011/12/07
你的权利。压缩比是75%,我得到一个3KB的可执行文件。我演示批处理文件更新和增加了POI的一个说明。感谢P.S.也许是可能的源代码的优化,以减少EXE大小更?