私はC#を使用して実行しようとしている2つのバッチスクリプトを持っています。C#プログラムを実行し、実行後に環境変数を取得する
私が持っているコードは、私が取得する環境変数は、プロセスがないバッチファイルを設定しているか、もともと持っていたものであるように見える
string finalEnvVarsFile = Path.GetTempFileName();
string arguments = string.Format("/c {0} & {1} & set > {2}", "foo.bat", "bar.bat", finalEnvVarsFile);
// Helper to run processes easier and reads in stdout and stderr.
ProcessHelper processHelper = ProcessHelper.Create("cmd.exe", arguments);
bool success = processHelper.Run(null, true, true);
foreach (var envVar in File.ReadAllLines(finalEnvVarsFile))
{
Console.WriteLine("Environment Variable: " + envVar);
}
です。何か間違っているのですか、何らかの理由でバットファイルが正しく実行されていませんか?これを行うより良い方法はありますか?
' "FOO、バットは"' - あなたは 'foo.bat'を意味するのですか? (文字列 'arguements'の中で)? –
ああ、そうです。私は実際の名前を置き換えたのは、彼らの目的が本当に関連していないからです。 – user2460953
あなたの実際のコードがそうでないことを確認したかっただけです。 –