基本的にサイトからファイルをダウンロードするバッチファイルがあるか、ファイルが使用できないというエラーメッセージが返されます。私はC#(SSISスクリプトコンポーネント)でこの.batファイルを実行し、変数に(ファイルがダウンロードされている場合)変数にファイル名を保存するか、変数にエラーメッセージを割り当てます。C#でバッチファイルを実行する
はProcess.Startを使用してバッチファイルを実行し、事前
基本的にサイトからファイルをダウンロードするバッチファイルがあるか、ファイルが使用できないというエラーメッセージが返されます。私はC#(SSISスクリプトコンポーネント)でこの.batファイルを実行し、変数に(ファイルがダウンロードされている場合)変数にファイル名を保存するか、変数にエラーメッセージを割り当てます。C#でバッチファイルを実行する
はProcess.Startを使用してバッチファイルを実行し、事前
あなたは/ CオプションでのCmd.exeを実行するためにSystem.Diagnostics.Processを使用することができます。基本的にバッチファイルの名前を指定します。プロセスの作成とスタンダード入出力のキャプチャを簡単にするために、私は以前にまとめたProcessRunnerクラスを見ることをお勧めします。少なくともこの記事はHow to use System.Diagnostics.Process correctlyを読んではいけない。
さらに、いくつかの異なる種類のWindows OSスクリプトファイルを実行するラッパーを作成する同じライブラリ内のScriptRunnerクラスを参照することもできます。
私はこれを試していただきありがとうございます... –
でいただきありがとうございます。返されたProcessオブジェクトのStandardErrorおよびStandardOutputストリームを読み取ることで、プロセス出力をテキストとして取得できます。 RedirectStandardOutput
プロパティをtrueに設定する必要があります。ここで
は、MSDNからの例です:
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "yourbatchfile.bat";
p.Start();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
ProcessStartInfo startInfo; プロセスbatchExecute; startInfo =新ProcessStartInfo( "C:\テスト\のTEST.BAT" @); startInfo.WorkingDirectory = @ "C:\テスト" ; startInfo.CreateNoWindow = TRUE; startInfo.WindowStyle = ProcessWindowStyle.Hidden; startInfo.UseShellExecute = TRUE; batchExecute =新しいプロセス(); batchExecute.StartInfo = startInfo; batchExecute.Start(); batchExecute .WaitForExit();私は休暇中のコードを使用していますが、出力を変数に格納する方法は? –
@ramesh、私は例を追加しました。出力テキストを文字列として読み取って解析する必要があります。プロセス_might_は意味のあるエラーコードを返します。このコードは 'p.ExitCode'を見ることで確認できます。 – driis
問題を解決していただきありがとうございました:) –
なぜSSISで直接ダウンロードしないのですか?要件です –
... :( –