Umgebungsvariable% PROGRAMFILES% mit 2 Ausführungen


0

Ich möchte ein Programm mit einer Batch-Datei zum installieren Program Files Ordner. Danach möchte ich einen Ordner in den gleichen Ordner kopieren. Hier ist ein Beispiel:

SET SCRIPT_LOCATION=%~dp0
SET INSTALLATION_PATH=%PROGRAMFILES%\example program

"%SCRIPT_LOCATION%\example program\setup.exe"

Nun sollten zusätzliche Dateien in den Programmordner kopiert werden:

xcopy "%SCRIPT_LOCATION%\additional_files" "%INSTALLATION_PATH%example program\additional_files" /E

Das Problem ist, dass das Programm nur 32bit unterstützt. Das heißt, das Programm wird unter "C: \ Programme (x86) \ Beispielprogramm" auf einem 64-Bit-Computer installiert .

Wenn die Kopie ausgeführt wird, werden die Dateien unter "C: \ Programme \ Beispielprogramm \ zusätzliche Dateien" installiert . Die zusätzlichen Dateien sollten jedoch unter demselben Pfad wie das Programm installiert werden.

Ich weiß, dass das Betriebssystem entscheidet, welcher Pfad verwendet werden soll, wenn % PROGRAMFILES% verwendet wird. Das Betriebssystem prüft, ob das Programm 64-Bit-Maschinen unterstützt oder nicht.

Ich denke, eine mögliche Lösung wäre, nach dem Maschinentyp ( 32/64 Bit) zu fragen und zu entscheiden, ob % PROGRAMFILES% oder % PROGRAMFILES (x86)% mit einer if-Klausel verwendet werden soll. Oder gibt es eine Möglichkeit, den Pfad von der Installation zu einer Variablen zu analysieren und später für die Kopie zu verwenden?

Gibt es noch andere Möglichkeiten, Umgebungsvariablen für mein Problem einzuschließen?


Try%PROCESSOR_ARCHITECTURE%
nimsson

Auf welche Betriebssysteme zielen Sie ab?
And31415

Das beste wäre XP bis zu Win8 und 32bit / 64bit Maschinen. Ich möchte die höchste Kompatibilität.
TaXXoR
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.