これは簡単な質問です。私は何かが足りない可能性が高いので、誰かがすぐに答えられると確信しています。
次のディレクトリレイアウトがあるとしましょう
Folder1
-> CurrentlyRunning.EXE
-> Folder2
ProcessToStart.Bat
ApplicationToStartFromBat.exe
これは、アプリケーション内のコードです。
CurrentRunning.EXE:
var proc = new Process
{
StartInfo =
{
FileName = "Folder2/ProcessToStart.Bat",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
UseShellExecute = false
}
};
proc.Start();
ProcessToStart.Bat:
START ApplicationToStartFromBat.exe
ここで、ProcessToStart.Batをダブルクリックして実行すると、ApplicationToStartFromBat.exeが問題なく開きます(これは良いことです)。CurrentRunning.EXE(上記で投稿したコードを実行します)を実行すると、BATファイルが失敗し、EXEが見つからないと表示されます(これは本当に奇妙です)。
BATファイルを次のように変更した場合:
START Folder2/ApplicationToStartFromBat.exe
次にCurrentlyRunning.EXEを実行すると、batはApplicationToStartFromBat.exeを適切に開きます。私の問題は、何らかの理由でバット内のコードを変更できないことです。
batファイルの検索ルートディレクトリが変更されるのはなぜproc.Start()
ですか。また、これを防ぐにはどうすればよいですか。
ありがとう