Process クラスを使用して C# コードからバッチ ファイルを実行しようとしています。バッチはパラメーターを取得し、引用符で囲まれた文字列として ProcessStartInfo.Arguments に渡されます。バッチが実行されると、いくつかのガベージ ASCII シンボルが前に追加されるという事実を除いて、すべてがうまく機能しています。それらがどこから来たのかわかりません。バッチ スクリプトは単純に見えます。
%1 -S .\sqlexpress -i %2
バッチは、特定の場所で sqlcmd.exe を実行するだけで、実行する SQL スクリプトを渡します。コマンドラインでこれを手動で試すと、うまく機能するため、これは生成されたコマンド自体ではありません。アイデア?
ビルド スクリプトの実行結果は次のようになります。
[gallio] D:\Development\project_A\Trunk\build\compile>"D:\Development\project_A\Trunk\build\tools\sqlcmd\SQLCMD.EXE" -S .\sqlexpress -i "C:\Temp\project_A_consolidated_sql_scripts.sql"
[gallio] '' is not recognized as an internal or external command,
[gallio] operable program or batch file.
[gallio] Creating project_A database
[gallio] Changed database context to 'master'.
[gallio] Creating project_ADBUser login
[gallio] Changed database context to 'project_A'.
[gallio] Creating project_ADBUser user
[gallio] Creating project_A Schema
[gallio] Changed database context to 'project_A'.
】画像
ありがとうございました。