C# ProcessStartInfo("cmd.exe",コマンド)でコマンドプロンプトが起動できてたかを、サーバーログに出力して確認したい。

実現したいこと

・現在、VisualStudioのデバックモードで(ASP.Netサーバー)で、
ProcessStartInfoを使用してコマンドプロンプトを起動が出来ていることを確認済。
上記をIISサーバーで実施したところ、動作が上手くいかないので、
コマンドプロンプトが正しく起動しているのか、コマンドプロンプトの命令でコケているのか等を
判断するために、Logに出力したい。

前提

C#でアップロードした.xlsxファイルを、batを用いてcsvファイルに変換し、
そのCSVファイルを使用して、内容のエラーチェック等をする機能を作成しています。

該当のソースコード

C#

1ProcessStartInfo ps = new ProcessStartInfo("cmd.exe" , "ExcelファイルをCSVに変換するbatを使用するコマンド文")2 3ps.CreateNoWindow = true;4ps.UseShellExecute = false;5ps.RedirectStandardOutput = true;6 7Process process = Process.Start(ps)8string msg = process.StandardOutput.ReadToEnd();9process.WaitForExit();10process.Close();11 12Console.WriteLine(msg);

試したこと

RedirectStandardOutput、RedirectStandardErrorなどで動作確認をしてみたのですが、
msgに入る値が空文字となっていました。
想定ではmsgにログに近しい物が入っていると思っていましたが、上手くいきませんでした。

コメントを投稿

0 コメント