日期:2014-05-17 浏览次数:21485 次
echo IP地址: 
for /f "tokens=1,* delims==" %%a in ('ipconfig^|find "IP Address"') do (    
     set /a tee+=1
     echo %%a %%b
) 
echo. 
echo 硬  盘: 
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get size^,totalsectors /value') 
do ( 
     set /a tee+=1 
     if "!tee!" == "3" echo         总   空  间  = %%b 
     if "!tee!" == "4" echo         已 用 空 间  = %%b 
) 
echo.
@echo off
for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do (
    set IP=%%a
)
echo,%IP%
------解决方案--------------------
硬盘空间的大小一般来说是超出了BAT能够直接计算的范围,也就是说直接除以1024是不行的。一般的解决方案:
1、自己在BAT里面写大数算法
2、在BAT里面动态生成一个用于计算的VBS
不知楼主更加倾向于哪种方案?
------解决方案--------------------
echo %number_of_processors%
------解决方案--------------------
@echo off
setlocal enabledelayedexpansion
cls
set /a num2=1024*1024
set total=0
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    set num1=0
    set num3_str=
    set num4=
    for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do (
        set num1=%%j
    )
    if not "!num1!"=="0" (
        call :loop
        for /f "delims=0 tokens=*" %%k in ("!num3_str!") do (
            set num3_str=%%k
        )
        echo.
        echo %%i 盘剩余空间为 !num3_str! MB
        set /a total+=!num3_str!
        echo.
    )
)
echo 剩余空间总量为 !total! MB
pause
goto :eof
:loop
:: 求商
set /a num3=%num4%%num1:~0,1%/%num2%
:: 求商序列
set num3_str=%num3_str%%num3%
:: 求余
set /a num4=%num4%%num1:~0,1%%%%num2%
if %num4% equ 0 (
    set num4=
)
set num1=%num1:~1%
if not "%num1%"=="" (
    goto :loop
)
goto :eof