※ ChatGPTを利用し、要約された質問です(原文:C#からバッチファイルを起動で)
C#からバッチファイルを起動する際の注意点
このQ&Aのポイント
C#からバッチファイルを起動する際に、パス名にスペースが含まれるとcdコマンドが正しく動かない問題が発生します。
バッチファイルを囲むクォーテーションマークを付け加えたが、問題は解決しませんでした。
原因が分かるまで、正しく動作するためには、スペースを含まないパス名を使用する必要があります。
C#からバッチファイルを起動しているのですが、
パス名にブランクがあると、cdコマンドがうまく動きません。
ブランクがないと動きます。
例:C:\Documents and Settings\user\My Documents\
バッチファイルを""で囲んでみたのですが、
うまく動きませんでした。
原因が分かれば教えて下さい。
よろしくお願い致します。
C#部分
---------------------------------------------------------------------------------
string strJarPath = Properties.Settings.Default.JarPath;
ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = Application.StartupPath + @"\" + "cmdExe.bat";
psInfo.Arguments = strPath
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = false;
psInfo.RedirectStandardOutput = true;
Process p = Process.Start(psInfo);
---------------------------------------------------------------------------------
※Properties.Settings.Default.JarPath には、
C:\Documents and Settings\user\My Documents\java を設定
バッチファイル部分
----------------------------------------------------------------------------------
@echo off
cd "%1"
java -cp test.jar Hello
---------------------------------------------------------------------------------
お礼
教えていただいた方法でうまくいきました。 ありがとうございました!