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