Es scheint, ich mache schon alles richtig. Wenn ich% windir% übergebe, funktioniert es gut.
Ich gehe davon aus, dass die Variable CD niemals ohne die Eingabeaufforderung gesetzt wird.
Ich denke, die einzige Lösung für mein spezielles Problem ist die Verwendung einer Batch-Datei anstelle einer .lnk-Verknüpfung (Verknüpfung).
BEARBEITEN : Lösung
Ich fand, dass Sie cmd.exe einfach starten und die Exe und Argumente dort übergeben können.
Falls Benutzer Leerzeichen haben (ich hasse Leerzeichen), sollten Sie das gesamte Argument für cmd.exe in doppelte Anführungszeichen sowie die einzelnen Elemente einschließen
C: \ Windows \ System32 \ cmd.exe / c "C: \ Benutzer \\ Pfad zum Exe \ myProgram.exe" -ldir "% cd%" "
Siehe: https://ss64.com/nt/cmd.html