Ich habe eine Batch-Datei mit folgendem Inhalt:
echo %~dp0
CD Arvind
echo %~dp0
Auch nach der Änderung des Verzeichniswertes von %~dp0
ist die gleiche. Wenn ich jedoch diese Batch-Datei aus dem CSharp-Programm ausführe, wird der Wert von %~dp0
Änderungen nach CD . Er verweist nun auf das neue Verzeichnis. Im Folgenden finden Sie den von mir verwendeten Code:
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();
Warum gibt es einen Unterschied in der Ausgabe, wenn dasselbe Skript auf verschiedenen Wegen ausgeführt wird?
Habe ich hier etwas übersehen?