Page 1 of 1

Was ist der Grund dafür, dass sich der Batch-Dateipfad, auf den mit %~dp0 verwiesen wird, manchmal ändert, wenn das Verz

Posted: 15 Jan 2025, 17:51
by Guest
Ich habe eine Batchdatei mit folgendem Inhalt:

Code: Select all

echo %~dp0
CD Arvind
echo %~dp0
Auch nach dem Ändern des Verzeichniswerts von %~dp0 bleibt er derselbe.
Wenn ich diese Batchdatei jedoch aus dem CSharp-Programm ausführe, ist der Wert von %~dp0 ändert sich nach CD. Es zeigt jetzt auf ein neues Verzeichnis. Folgendes ist der Code, den ich verwende:

Code: Select all

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 unterschiedliche Weise ausgeführt wird?

Verpasse ich hier etwas? ?