2017-07-15 27 views
0

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. 

答えて

0

に[SQLCMDユーティリティのドキュメント]の近い読み取りを使用しています

は機能

  • 示し[:]を! ! <コマンド>オペレーティングシステムのコマンドを実行します。

だから、ECHOコマンドは、着色取得するにはANSIエスケープシーケンスを発行することができ

:!!ECHO <alt-027>[1;32mThis is bright green.<alt-027>[0m This is not. 
関連する問題