Определение 32-разрядный (x86) или 64-разрядный
Как определить разрядность системы через cmd? Надо если на компьютере стоит 32 битная система, устанавливалось приложение для x32(x86) битной системы. Если стоит x64 то для 64 битных.
|
Код:
set wkvexename=WirelessKeyView_x86.exe
IF /I NOT "%PROCESSOR_ARCHITECTURE%"=="x86" set "wkvexename=WirelessKeyView_x64.exe"
"%~dp0WirelessKeyView\%wkvexename%"
|
Как я понял
Цитата:
Цитата lSVl
WirelessKeyView_x86.exe »
|
и
Цитата:
Цитата lSVl
"wkvexename=WirelessKeyView_x64.exe" »
|
Это имена программы?
|
Вложений: 1
Цитата:
Цитата lSVl
2018-02-15_16-19-44.jpg »
|
В чем ошибка? Файл 151265
|
У вас там папка WirelessKeyView два раза в пути прописана.
|
Цитата:
Цитата dislike
У вас там папка WirelessKeyView два раза в пути прописана. »
|
Все заработало, спасибо. Как я понял мы папку WirelessKeyView кидаем рядом с батником. А как прямой путь к файлам или папке прописать?
|
Код:
@echo off
CD /D %~dp0
set wkvexename=WirelessKeyView_x86.exe
IF /I NOT "%PROCESSOR_ARCHITECTURE%"=="x86" set "wkvexename=WirelessKeyView_x64.exe"
start "" "%wkvexename%"
|
Код:
@echo OFF
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT
if %OS%==32BIT START "" "C:\Program Files\Microsoft\your32.exe"
if %OS%==64BIT START "" "C:\Program Files\Microsoft\your64.exe"
Код:
:CheckOS
IF EXIST "%PROGRAMFILES(X86)%" (GOTO 64BIT) ELSE (GOTO 32BIT)
:64BIT
START "" "C:\Program Files\Microsoft\your64.exe"
GOTO END
:32BIT
START "" "C:\Program Files\Microsoft\your32.exe"
GOTO END
:END
На VBS:
Код:
Set WshShell = WScript.CreateObject("WScript.Shell")
OSArchCheck = WshShell.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
If OSArchCheck = "x86" Then
objShell.run("C:\your32.exe")
Else
objShell.run("C:\your64.exe")
End If
|
Время: 20:37.
© OSzone.net 2001-