Rozlišení architektury x86 a x64
Rozlišení architektury x86 a x64
Jak rozlišit 32-bit Windows od 64-Windows nejlépe v dávkovém souboru, aby bylo možno v *.bat větvit, co se bude spouštět. Zkoušel jsem "ver", ale Windows 7/32 i Windows 7/64 dávají verzi 6.1.7601.
Re: Rozlišení architektury x86 a x64
Ja jsem to vzdy delal tim ze jsem zkousel jestli existuje C:\Program Files (X86)
Re: Rozlišení architektury x86 a x64
Ale já to potřebuji zjistit z CD rozesílaného zákazníkům a dopředu nevím, v jakých Windows si uživatel bude CD spouštět ani v kterou denní či noční hodinu to bude. Chápu, že existuje příkaz "if exist C:\Program Files (x86)\null GoTo...", ale existence tohoto adresáře není zárukou, že jde o 64bit architekturu.
Re: Rozlišení architektury x86 a x64
Divil bych se kdyby existoval na 32bitovych Windows, druha moznost je C:\Windows\sysWOW64, ten u 64bit Windows existovat musi a na 32bitovych byt nemuze.
Re: Rozlišení architektury x86 a x64
Za těch 23 let "pracovně" u počítače se už nedivím ničemu, zvláště, jedná-li se o počítače uživatelů. Jinak jsem usoudil, že "C:\Windows\SysWOW64" je ve 32 bit Windows méně pravděpodobný, než "\Program Files (x86)", ale není nemožný (Windows 7/32 mi ho vytvořit dovolily). Jinak se musí - zase kvůli systémákům - použít zápis "%SYSTEMROOT%\SysWOW64\", protože nikde není dáno, že Windows budou instalovány do adresáře Windows.
Re: Rozlišení architektury x86 a x64
Přikládám zajímavé výsledky (jako obrázek), získané na notebooku Lenovo ve Windows 7/64 tímto baťákem:
Kód: Vybrat vše
@echo off
echo PROCESSOR_ARCHITECTURE var:
echo %PROCESSOR_ARCHITECTURE% | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo PROCESSOR_ARCHITECTURE reg:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo CentralProcessor reg:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > nul
if %errorlevel%==0 (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) var:
if not defined ProgramFiles(x86) (
echo 32-bit
) else (
echo 64-bit
)
echo.
echo ProgramFiles(x86) dir:
if not exist "%systemdrive%\Program Files (x86)" (
echo 32-bit
) else (
echo 64-bit
)
echo.
pause
Re: Rozlišení architektury x86 a x64
Přes detekci nějakého souboru/adresáře to bude vždycky trochu nespolehlivé, protože nainstalované tam může být cokoliv, ale nemusí se to nikdy použít.
Nebylo by možné na to tvoje CD umístit nějaký prográmek, který by ti prověřil přímo procesor, a podle jeho návratové hodnoty bys testoval ten errorlevel?
Nebylo by možné na to tvoje CD umístit nějaký prográmek, který by ti prověřil přímo procesor, a podle jeho návratové hodnoty bys testoval ten errorlevel?
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Re: Rozlišení architektury x86 a x64
Potiz je v tom, ze prave dotaz na procesor_architecture vrati i na 64bit OS ze je to 32bit CPU (coz je pravda)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 1
- 2375
-
od rhsCZ
Zobrazit poslední příspěvek
17 pro 2024 15:14
-
-
Herny pocitac na rozliseni 3440x1440 Příloha(y)
od Søren » 25 črc 2024 11:43 » v Rady s výběrem hw a sestavením PC - 42
- 8013
-
od Søren
Zobrazit poslední příspěvek
03 srp 2024 15:10
-
-
-
Igpu od AMD vega 6 a Vega 8 max rozlišení Příloha(y)
od walderan » 18 dub 2025 14:53 » v Rady s výběrem hw a sestavením PC - 8
- 2610
-
od walderan
Zobrazit poslední příspěvek
18 dub 2025 19:31
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti