У меня есть пакетный файл со следующим содержимым:
echo %~dp0
CD Arvind
echo %~dp0
Даже после изменения значения каталога %~dp0
одинаково. Однако, если я запускаю этот командный файл из программы CSharp, значение %~dp0
изменяется после CD. Теперь он указывает на новый каталог. Ниже приведен код, который я использую:
Directory.SetCurrentDirectory(//Dir where batch file resides);
ProcessStartInfo ProcessInfo;
Process process = new Process();
ProcessInfo = new ProcessStartInfo("mybatfile.bat");
ProcessInfo.UseShellExecute = false;
ProcessInfo.RedirectStandardOutput = true;
process = Process.Start(ProcessInfo);
process.WaitForExit();
ExitCode = process.ExitCode;
process.Close();
Почему существует разница в производительности при выполнении одного и того же сценария по-разному?
Мне что-то не хватает?