resultado wmic para o arquivo de texto nomeado

1

Estou escrevendo um script em lote para instalar software que depende de 32 ou 64 bits. Eu estou usando "wmic os get osarchitecture" para determinar a arquitetura do sistema operacional Windows.

O que eu quero fazer é ter a saída da WMIC em um arquivo de texto nomeado baseado na saída. por exemplo, se o resultado for um sistema operacional de 32 bits, ele criaria um arquivo de texto chamado 32bit.txt ou, se fosse um sistema operacional de 64 bits, criaria um arquivo de texto chamado 64bit.txt.

Dessa forma, eu posso ter meu script em lote executando o instalador de 32 bits, se houver 32bit.txt, ou executar o instalador de 64 bits, se existir 64bit.txt.

    
por Dgagne 08.10.2018 / 18:24

1 resposta

1

A variável de ambiente PROCESSOR_ARCHITECTURE pode obter algo semelhante ao que você deseja. Ele conterá x86 , AMD64 , ARM64 ou IA64 , que você pode anexar ao seu nome de arquivo.

Por exemplo:

wmic os get osarchitecture >%PROCESSOR_ARCHITECTURE%.txt

Você também pode usar isso diretamente no script em lote para chamar os instaladores. Por exemplo, geralmente tenho a seguinte estrutura de arquivos para instalações em lote:

root
    x64
        installer.exe
    x86
        installer.exe

O arquivo em lote conterá algo como:

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

Se você preferir usar o WMIC, poderá fazer isso sem usar um arquivo:

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

bit conteria 32bit ou 64bit .

    
por 08.10.2018 / 18:47