[Powershell]オプション指定にカンマを使用するコマンドを実行する場合は注意

超まとめ

Powershellコンソールで、オプション指定にカンマを使用するコマンド(exe)を実行する際には、カンマが入ったオプション部分をダブルクオートで括る必要があります。

説明

例えば、sqlcmdとかbcpとかは、接続先サーバー指定でポート指定する場合にはカンマを使用して指定します。

sqlcmd -S DBServer,1433 –E

これをコマンドプロンプトで実行すると正常に接続できます。
@command

しかし、Powershellコンソールで実行するとエラーになります。
@powershell
これはpowershellがオプション引数の書式で、カンマが入っていると特別な扱いをする(配列で扱う)からのようで、正しく動作させるためには、カンマが入ったオプション指定文字列をダブルクオートで括ります。
@powershell_fix

コメントを残す