2016-06-09 14 views
0

Wie kann ich einen Teilpfad von einer Umgebungsvariablen bei der Kompilierung mit dem File Befehl zu verwenden, extrahierenVerwenden Teil einer Umgebungsvariablen Pfad Dateien in andere Verzeichnisse hinzufügen

sagen Lässt meine Umgebungsvariable ist:

MY_ENV_VAR 

Können sagen, ihr Wert ist:

"C:\Program Files\Program Name\Stuff\New Stuff" 

ich die folgende Datei in meinem Skript enthalten sein sollen:

"C:\Program Files\Program Name\Other Stuff\myFile.txt" 

Deshalb möchte ich tun:

StrCpy $0 "$%MY_ENV_VAR%" -16 
File "$0\Other Stuff\myFile.txt" 

Der obige Code wird nicht funktionieren wie $0 und StrCpy zum Zeitpunkt der Kompilierung nicht verfügbar sind. Wie kann ich mein gewünschtes Ergebnis erzielen?

Ich kann nicht hart Code der Pfad zu myFile als das Installationsverzeichnis ist wahrscheinlich von Benutzer zu Benutzer gefunden

Die einzige Lösung zu ändern, haben verwendet eine sekundäre Skript eine .nsh Datei mit einem definieren, um den Pfad zu erstellen . Dies ist jedoch hässlich und erfordert auch, dass der Benutzer zwei verschiedene .nsi-Skripte kompiliert.

+0

Alternativ, wenn es eine Syntax, die ich aus dem ‚Datei‘ Referenz verpasst haben, die einen nach oben Verzeichnis wie „../“ etc erlaubt – Danaldo

Antwort

0

Siehe meinen Kommentar.

Sie eine Datei auf diese Weise hinzufügen:

File "$%MY_ENV_VAR%\..\..\Other Stuff\myFile.txt" 
Verwandte Themen