2017-07-15 40 views
0

我正在通過cmd shell中的sqlcmd運行.sql腳本,並希望腳本以彩色方式發出我的PRINT輸出。可以配置sqlcmd是否支持ANSI轉義序列(用於着色PRINT輸出)

How to echo with different colors in the Windows command line演示Windows 10 CMD如何支持ANSI轉義序列。

我猜測sqlcmd運行它自己的CMD殼,因爲顏色不出現。

sqlcmd -S (LocalDB)\MSSQLLocalDB 
> print 'NOTE: my message' 
> go 
NOTE: my message <--- Appears white on black. 

在下一個打印有^ [。
^ [命令解釋器如何呈現字面轉義字符。
文字轉義從鍵盤使用組合鍵ALT-027鍵盤

> print '^[92mNOTE: my message ^[0m' 
> go 
□92mNOTE: my message□0m <--- Would like this to appear bright green on black 

的SQLCMD殼是不支持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. 

回答

0

的仔細閱讀[sqlcmd實用工具文檔] [1]中的 「其他命令」 顯示功能

  • [:]! ! < command>執行操作系統命令。

所以ECHO命令可以用ANSI轉義序列發出來獲得着色

:!!ECHO <alt-027>[1;32mThis is bright green.<alt-027>[0m This is not. 
相關問題