如何获取批处理文件以接受来自txt文件的输入,以便在多台计算机上运行wmic命令

时间:2018-10-15 15:21:36

标签: batch-file wmic

我有一个包含多个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

0 个答案:

没有答案