cmdシェルで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シーケンスは解釈されません。
ANSIエスケープシーケンスをサポートするようにsqlcmdシェルを構成できますか?私は[1] "その他のコマンド" の下での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.