Im Batch festgelegte Umgebungsvariable wird in der Verknüpfung nicht erweitert

Im Batch festgelegte Umgebungsvariable wird in der Verknüpfung nicht erweitert

Wie kann ich meine Umgebungsvariable (festgelegt in der Batchdatei) in der Anwendung sichtbar machen, die direkt nach dem Festlegen dieser Umgebungsvariable ausgeführt wird?

Hier ist das Szenario, das ich verwende:

  1. In meinem externen Skript (hier nicht ganz wichtig) erstelle ich Windows-Verknüpfungen zu JPG-Dateien, wobei das Ziel folgendermaßen aussieht:

    %MYPHOTOSDRIVE%:\private\photos\photo001.jpg
    

    %MYPHOTODRIVE% sollte nur einen aktuellen Laufwerksbuchstaben enthalten.

  2. Ich starte IrfanView mit dem folgenden BAT-Skript (das Skript befindet sich im selben Verzeichnis wie alle .lnk-Dateien):

    set MYPHOTOSDRIVE=%cd:~0,2%
    "c:\Program Files\IrfanView\i_view32.exe" "i:\private\photolinks\photo001.lnk"
    "c:\Program Files\IrfanView\i_view32.exe" /slideshow="%cd%"
    

Das Problem besteht darin, dass weder das Einzelbild noch eine Diashow (beim zweiten Aufruf von IrfanView) ordnungsgemäß ausgeführt werden.

Sollte diese Variable „MYPHOTODRIVE“ bei der Ausführung von Irfan nicht auf einen geeigneten Wert erweitert werden? Bekommt sie nicht dieselbe Umgebung wie das übergeordnete Skript?

Antwort1

Das Problem besteht darin, dass Sie keine Umgebungsvariable an IrfanView übergeben, z. B.:

C:\> i_view32.exe %%myphotosdrive%%:\private\photos\photo001.jpg

Du gibst es ein.LNKDatei (die binär ist). IrfanView kann keine Verknüpfungsdateien interpretieren; es verarbeitet nur Grafikdateien und dergleichen.

Am besten gehen Sie folgendermaßen vor:Anfragedass Irfan die Möglichkeit hinzufügt, Verknüpfungsdateien aufzulösen (er reagiert recht schnell und kann gut mit Supportfragen und Funktionsanfragen umgehen).

verwandte Informationen