Как получить пакетный файл для приема ввода из TXT-файла для запуска команд wmic на нескольких машинах - PullRequest
0 голосов
/ 15 октября 2018

У меня есть командный файл с несколькими командами WMIC, и я хочу иметь возможность извлекать имена хостов, которые я сохранил в текстовом файле, для запуска этих команд на нескольких машинах.какие-нибудь мысли?

это мой код, однако он только извлекает информацию о моих машинах, теперь я хотел бы добавить список других машин

заранее спасибо

    @echo off
    setlocal enabledelayedexpansion
    if exist C:\dell\%computername%.csv del C:\dell\%computername%.csv"
    set outputfile="C:\dell\%computername%.csv"


    hostname>>%outputfile%

    wmic Cpu get Name>>%outputfile%

    wmic path win32_VideoController get name>>%outputfile%

    wmic ComputerSystem get TotalPhysicalMemory>>%outputfile%

    WMIC LOGICALDISK where drivetype=3 get caption,size,FreeSpace>%~n0.tmp



    for /f "tokens=1-3 skip=1" %%a in ('type "%~n0.tmp"') do call 
    :displayinfo %%a %%b %%c
    exit /b


    :displayinfo
    set drive=%1
    set free=%2
    set total=%3


    call :convertbytes total
    call :convertbytes free

    echo %drive% Total: %total%. Free: %free%>>C:\dell\%computername%.csv


    :convertbytes
    set str=!%1!
    set "sign="
    set bytes=0
    set fraction=0

    :loop
    set fraction=%bytes:~0,1%
    set bytes=%str:~-3%
    set str=%str:~0,-3%
    if "%sign%"=="GB" set sign=TB
    if "%sign%"=="MB" set sign=GB
    if "%sign%"=="KB" set sign=MB
    if "%sign%"=="B" set sign=KB
    if not defined sign set sign=B
    if defined str goto loop
    set %1=%bytes%.%fraction% %sign%

    goto :eof
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...