Vista 32Bit und 64Bit aus Batch unterscheiden

  • #1
M

mikeingo

Mitglied
Themenersteller
Dabei seit
12.12.2008
Beiträge
11
Reaktionspunkte
0
Hallo zusammen,

ich möchte aus einer Batch datei heraus abfragen, auf welcher Vista Version sie gestartet wurde.
VER bringt wenig, weil bei beiden Versionen nur Windows Vista ausgegeben wird.

gibt es bei der 64 Bit version irgendwelche eindeutigen Ordner/Dateien, die bei der 32 Bit nicht vorhabden sind?

Dann könnte ich ja mit If Exist weiter kommen.

Gruß

[br][blue]*PCDElchi: Verschoben aus "Windows Vista"*[/blue]
 
  • #2
Es gibt die Umgebungsvariable PROCESSOR_ARCHITECTURE (unter XP 32 / Vista 32 = x86, unter XP 64 / Vista 64 = AMD64 oder IA64).
In einem 32-Bit-Prozess unter 64-Bit-Windows (-> WOW64) ist PROCESSOR_ARCHITECTURE immer x86; es muss dann zusätzlich noch die Umgebungsvariable PROCESSOR_ARCHITEW6432 berücksichtigt werden.
 
  • #3
Danke für die schnelle Antwort.

Hab etz kurzfristig leihweise ein 64Bit System bekommen.

Da gibts den Ordner Program Files (x86)

Ich frag einfach ab ob es den gibt und schon weis ich ob 64Bit oder nicht.
 
  • #4
mikeingo schrieb:
Ich frag einfach ab ob es den gibt und schon weis ich ob 64Bit oder nicht.

Falls einfach bedeuten sollte C:\Program Files (x86), ist der Fehler aber vorprogrammiert.
 
  • #5
warum?

die 64Bit systeme die ich bis jetzt sah, hatten alle diesen ordner

und das script wird nur auf neuen systemen installiert. also wenn mal jemand an dem ordner was ändert, stört es nicht mehr

die abfrage der systemvariable ergab AMD64

ist das das ergebnis des betriebssystems oder des prozessors? denn in der kiste ist ein intel
 
  • #6
mikeingo schrieb:
die 64Bit systeme die ich bis jetzt sah, hatten alle diesen ordner

Ja, aber nur zum Teil auf C:, denn es gibt auch viele Rechner mit mehreren installierten Betriebssystemen ... Wenn ich z.B.
hier Dein Batch ausführen lassen würde, wäre das Ergebnis falsch (32 Bit, es ist aber ein 64-Bit-Windows). Und selbst wenn
es das einzige vorhandene BS ist, muss der Laufwerkbuchstabe nicht C: sein. Du müsstest also trotzdem auf eine Umgebungsvariable
zugreifen und dann noch zusätzlich prüfen, ob das Verzeichnis vorhanden ist. Das meinte ich.

die abfrage der systemvariable ergab AMD64
ist das das ergebnis des betriebssystems oder des prozessors? denn in der kiste ist ein intel

x86: 32-Bit-Windows [oder 64-Bit-Windows, wenn Du in einem 32-Bit-Prozess danach fragst, also Deine Batch-Datei von irgendeinem 32-Bit-Programm gestartet wird].
AMD64: 64-Bit-Windows [ausgeführt auf beliebigem 64-Bit-Prozessor außer Intel Itanium].
IA64: 64-Bit-Windows und Intel Itanium-Prozessor [extrem selten; http://en.wikipedia.org/wiki/Itanium].
Mehr Möglichkeiten gibt es nicht. Das Testen von PROCESSOR_ARCHITECTURE auf x86 müsste hier also reichen.

und das script wird nur auf neuen systemen installiert. also wenn mal jemand an dem ordner was ändert, stört es nicht mehr

Ja, das schreibst Du jetzt ganz zum Schluss. ;) Wenn natürlich alles frisch (und garantiert auf C:) installiert ist, sieht die Sache
anders aus.
 
  • #7
hab mich überzeugen lassen :)

ich frag jetzt PROCESSOR_ARCHITECTURE ab :)

danke nochmal für die hilfe und schöne feiertage
 
Thema:

Vista 32Bit und 64Bit aus Batch unterscheiden

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben