Systemvariable in Abhängigkeit des OS setzen (32 - 64 Bit)
Hallo zusammen,
ist es möglich eine Systemvariable im Abhängigkeit des Betriebssystems, bzw der Architektur um genau zu sein, zu setzen?
Ich muss eine Variabe zur AcroRd32.exe anlegen. Das ganze jedoch als 32 Bit und 64 Bit.
Bsp.
32-Bit:
AdbRd=C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe
64-Bit:
AdbRD=C.\Program Files(x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe
Gedacht ist, dass ich das Programm dann via %AdbRD% aufrüfen kann.
OS: Windows 7 + 8.1
Danke.
ist es möglich eine Systemvariable im Abhängigkeit des Betriebssystems, bzw der Architektur um genau zu sein, zu setzen?
Ich muss eine Variabe zur AcroRd32.exe anlegen. Das ganze jedoch als 32 Bit und 64 Bit.
Bsp.
32-Bit:
AdbRd=C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe
64-Bit:
AdbRD=C.\Program Files(x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe
Gedacht ist, dass ich das Programm dann via %AdbRD% aufrüfen kann.
OS: Windows 7 + 8.1
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 279874
Url: https://administrator.de/forum/systemvariable-in-abhaengigkeit-des-os-setzen-32-64-bit-279874.html
Ausgedruckt am: 02.04.2025 um 09:04 Uhr
7 Kommentare
Neuester Kommentar
ok, aber wo rufst du die Variable auf?
entweder musst du sie dort eh erstellen - dann kannst du die obige Abfrage einfach einbauen.
oder du willst eine Systemvariable setzen. Dann fragst du das einfach beim Erstellen der Variable ab. Per GPP -> zielgruppenadressierung oder eben wieder ein Startup skript zb.
Oder willst du einfach einen Desktop shortcut verteilen? dann wieder GPP oder Skirpt.
btw. %PROCESSOR_ARCHITECTURE% ist vom aufrufenden Prozess abhängig. Ich habe das für ein Startup Skript genutzt. Wenn du das ein einem Skript benutzt, das ev. auf einem 64bit System als 32bit Prozess gestartet wird, dann ist die Anzeige falsch. Aber workarounds gibt es wenn du %PROCESSOR_ARCHITECTURE% googelst.
entweder musst du sie dort eh erstellen - dann kannst du die obige Abfrage einfach einbauen.
oder du willst eine Systemvariable setzen. Dann fragst du das einfach beim Erstellen der Variable ab. Per GPP -> zielgruppenadressierung oder eben wieder ein Startup skript zb.
Oder willst du einfach einen Desktop shortcut verteilen? dann wieder GPP oder Skirpt.
btw. %PROCESSOR_ARCHITECTURE% ist vom aufrufenden Prozess abhängig. Ich habe das für ein Startup Skript genutzt. Wenn du das ein einem Skript benutzt, das ev. auf einem 64bit System als 32bit Prozess gestartet wird, dann ist die Anzeige falsch. Aber workarounds gibt es wenn du %PROCESSOR_ARCHITECTURE% googelst.
Meine Batches erkennen die Architektur in Win7 bis Win10 dadurch, indem ich prüfen lasse, ob eine Variable %ProgramFiles(x86)% existiert. Beispiel für Deine Fragestellung:
- Zuweisen von Variablen besser in Anführungszeichen setzen, da man Leerzeichen am Schluss gerne übersieht.
- Falls mal nicht das Laufwerk C: benutzt wird, ist man mit den Variablen zum Programmverzeichnis besser bedient
- Wie Dirmhirn schon treffend bemerkte, bringt die Abfrage auf %PROCESSOR_ARCHITECTURE% auf einem 64Bit-OS nicht das gewünschte Ergebnis, wenn sie aus einem 32Bit-Prozesss heraus aufgerufen wird.
Gruß, Nemo
::Grundeinstellung auf 32 Bit
SET "AdbRd=%ProgramFiles%\Adobe\Reader 11.0\Reader\AcroRd32.exe"
:: wenn %ProgramFiles(x86)%. existiert bzw NICHT leer ist, dann OS mit 64 Bit
IF NOT "%ProgramFiles(x86)%"=="" SET "AdbRd=%ProgramFiles(x86)%\Adobe\Reader 11.0\Reader\AcroRd32.exe"
- Falls mal nicht das Laufwerk C: benutzt wird, ist man mit den Variablen zum Programmverzeichnis besser bedient
- Wie Dirmhirn schon treffend bemerkte, bringt die Abfrage auf %PROCESSOR_ARCHITECTURE% auf einem 64Bit-OS nicht das gewünschte Ergebnis, wenn sie aus einem 32Bit-Prozesss heraus aufgerufen wird.
Gruß, Nemo