【发布时间】:2017-07-15 15:20:51
【问题描述】:
我正在一个 cmd shell 中通过 sqlcmd 运行一个 .sql 脚本,并希望该脚本以彩色发出我的 PRINT 输出。
How to echo with different colors in the Windows command line 演示了 Windows 10 CMD 如何支持 ANSI 转义序列。
我猜 sqlcmd 运行它自己的 cmd shell,因为颜色没有出现。
sqlcmd -S (LocalDB)\MSSQLLocalDB
> print 'NOTE: my message'
> go
NOTE: my message <--- Appears white on black.
在下一个打印中有 ^[。
^[ 是命令外壳呈现文字转义字符的方式。
文字转义是使用组合键 Alt-Keypad 027 从键盘输入的。
> print '^[92mNOTE: my message ^[0m'
> go
□92mNOTE: my message□0m <--- Would like this to appear bright green on black
sqlcmd shell 不支持 ANSI 转义序列。转义字符作为方框 (□) 字形输出,并且不会解释亮绿色的 92m 序列。
可以将 sqlcmd shell 配置为支持 ANSI 转义序列吗?
我使用的是 Windows 10 和 SQLExpress 2016。
>sqlcmd -?
Microsoft (R) SQL Server Command Line Tool
Version 11.0.2100.60 NT x64
Copyright (c) 2012 Microsoft. All rights reserved.
【问题讨论】:
标签: sqlcmd