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

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

by Guest » 15 Jan 2025, 17:51

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? ?

Top