小智 10
从以下网址下载dynwrap.dll:http://www.script-coding.com/dynwrap95.zip
然后将其解压缩到%systemroot%\system32
目录,然后在命令行中运行以下命令:
regsvr32.exe "%systemroot%\system32\dynwrap.dll"
您将获得成功消息,这意味着dynwrap.dll已注册.
然后你可以这样使用它:
$com = new COM('DynamicWrapper');
// register needed features
$com->Register('kernel32.dll', 'GetStdHandle', 'i=h', 'f=s', 'r=l');
$com->Register('kernel32.dll', 'SetConsoleTextAttribute', 'i=hl', 'f=s', 'r=t');
// get console handle
$ch = $com->GetStdHandle(-11);
Run Code Online (Sandbox Code Playgroud)
一些例子:
$com->SetConsoleTextAttribute($ch, 4);
echo 'This is a red text!';
$com->SetConsoleTextAttribute($ch, 7);
echo 'Back to normal color!';
Run Code Online (Sandbox Code Playgroud)
颜色代码:
7 =>默认
0 =>黑色
1 =>蓝色
2 =>绿色
3 =>浅绿色
4 =>红色
5 =>紫色
6 =>黄色
7 =>浅灰色
8 =>灰色
9 =>浅蓝色
10 =>浅绿色
11 =>浅绿色
12 =>浅红色
13 =>浅紫色
14 =>浅黄色
15 =>白色
遗憾的是,ANSI转义码在Windows命令提示符中不可用.
但是你可以尝试:
在bash shell上,它就像一个魅力,甚至还有一个php lib:http://sourceforge.net/projects/milcovlib/
如果这对你来说太过分了,你可以试试这个:
echo "\033[31mred\033[37m\r\n";
echo "\033[32mgreen\033[37m\r\n";
echo "\033[41;30mblack on red\033[40;37m\r\n";
Run Code Online (Sandbox Code Playgroud)
这是bash颜色代码列表:
$black = "33[0;30m";
$darkgray = "33[1;30m";
$blue = "33[0;34m";
$lightblue = "33[1;34m";
$green = "33[0;32m";
$lightgreen = "33[1;32m";
$cyan = "33[0;36m";
$lightcyan = "33[1;36m";
$red = "33[0;31m";
$lightred = "33[1;31m";
$purple = "33[0;35m";
$lightpurple = "33[1;35m";
$brown = "33[0;33m";
$yellow = "33[1;33m";
$lightgray = "33[0;37m";
$white = "33[1;37m";
Run Code Online (Sandbox Code Playgroud)
小智 6
自 Windows 10 1511 起,Windows 现在支持 ANSI 转义序列。您可以从cmd
with运行以下代码php
,如果您运行的是 Windows 10 1511 及更高版本,您将获得彩色结果。
<?php
echo "\033[31mRed\n". // Red Color Text
"\033[32mGreen\n". // Green Color Text
"\033[33mYellow\n". // Yellow Color Text
"\033[34mBlue\n". // Blue Color Text
"\033[37mWhite\n"; // White Color Text
?>
Run Code Online (Sandbox Code Playgroud)
我正在运行 Windows 10 1903,下面的屏幕截图显示了我在 cmd 中的脚本输出:
完整的转义序列参考:https :
//docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
尝试这个:
echo chr(27); //Escape char.
echo "5;31;47"; //Graphic mode blink red on white
Run Code Online (Sandbox Code Playgroud)
我手下没有 shell/php env,但这应该准确地输出你想要的内容。
归档时间: |
|
查看次数: |
15582 次 |
最近记录: |