Umgebungsvariable als Startargument hinzufügen (Windows)

1219
Joseph Kreifels II

Nehmen wir an, ich habe ein Programm namens myProgram.exe. Ich erstelle eine Verknüpfung und schicke sie an meinen Desktop.

Jetzt klicke ich mit der rechten Maustaste und gehe zu den Eigenschaften. Ich füge dem Ziel das Argument "-ldir% cd%" hinzu.

Das Problem ist, dass% cd% niemals auswertet, sondern geht als "% cd%" in das Programm. Ist es nicht möglich, Variablen als Argumente zu übergeben?

0

1 Antwort auf die Frage

0
Joseph Kreifels II

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

C: \ Windows \ System32 \ cmd.exe / c "C: \ Benutzer \"\\ myProgram.exe "-ldir% cd% wird geschlossen, funktioniert jedoch nicht, wenn der Benutzer ein Leerzeichen im Verzeichnisnamen hat. Aus diesem Grund kann keine Garantie übernommen werden. Wenn Sie% cd% in doppelte Anführungszeichen setzen, wird das System oder das System abgestürzt etwas Joseph Kreifels II vor 5 Jahren 0
Gelöst C: \ Windows \ System32 \ cmd.exe / c "" C: \ Users \\\ myProgram.exe "-ldir"% cd% "" Siehe: https://ss64.com/nt/cmd.html Joseph Kreifels II vor 5 Jahren 0