日期:2014-05-17 浏览次数:21126 次
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