1

Я пишу пакетный скрипт для установки программного обеспечения, которое зависит от 32 или 64 бит. Я использую "wmic os get osarchitecture" для определения архитектуры ОС Windows.

То, что я хочу сделать, это иметь вывод WMIC в именованный текстовый файл, который основан на выводе. например, если в результате получается 32-битная ОС, она создаст текстовый файл с именем 32bit.txt или, если это 64-битная ОС, он создаст текстовый файл с именем 64bit.txt.

Таким образом, мой пакетный скрипт может запустить 32-битный установщик, если существует 32bit.txt, или запустить 64-битный установщик, если существует 64bit.txt.

1 ответ1

1

Переменная окружения PROCESSOR_ARCHITECTURE может дать вам нечто похожее на то, что вы хотите. Он будет содержать x86 , AMD64 , ARM64 или IA64 , которые вы можете добавить к своему имени файла.

Например:

wmic os get osarchitecture >%PROCESSOR_ARCHITECTURE%.txt

Вы также можете использовать это непосредственно в вашем пакетном скрипте для вызова установщиков. Например, у меня обычно есть следующая файловая структура для пакетной установки:

root
    x64
        installer.exe
    x86
        installer.exe

Пакетный файл будет содержать что-то вроде:

IF "%PROCESSOR_ARCHITECTURE%"=="x86" (set bit=x86) else (set bit=x64)
"%bit%\installer.exe"

Если вы предпочитаете использовать WMIC, вы можете сделать это без использования файла:

for /f "tokens=1,2 delims=-" %%a in ('wmic os get osarchitecture ^| find "bit"') do set bit=%%a%%b

bit будет содержать 32bit или 64bit бита .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .