
CODE: [Copy to clipboard][ Last edited by HAT on 2008-7-13 at 09:58 PM ]@echo off
set /p drive=你想知道那个分区的容量?
if "%drive%" equ "" (
goto :eof
) else (
set drive=%drive:~0,1%
)
set drive=%drive::=%
set drive=%drive:\=%
set total=
set free=
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DeviceID='%drive%:'" get Size /value') do set total=%%a
echo 总空间:%total%
for /f "tokens=3" %%a in ('dir /a %drive%:') do set free=%%a
set free=%free:,=%
echo 剩余空间:%free%
>"%tmp%\cacl.vbs" echo wscript.echo %total%-%free%
for /f %%a in ('cscript /nologo "%tmp%\cacl.vbs"') do echo 已用空间:%%a

CODE: [Copy to clipboard]@echo off&color b
set /p disk=输入你要查询的盘符
for /f %%a in ('wmic logicaldisk where "caption='%disk%:'" get FreeSpace /value 2^>nul') do set %%a
if %FreeSpace% LSS 1024 set/a FreeSpace=(FreeSpace*1000)/1024&echo.&echo.&echo.&echo. %disk% 盘可用空间为 !Free! KB&pause>nul&goto :eof
set mn=MB
call :lp 1048576
set mn=GB
set/a modr=0
set FreeSpace=%t%
set t=0
call :lp 1024
goto :eof
:lp
set Free=%FreeSpace:~0,1%
set/a mod=modr*10+Free
set/a r=mod/%1
set t=%t%%r%
if "%t%"=="0" set t=
set/a modr=mod%%%1
set FreeSpace=%FreeSpace:~1%
if defined FreeSpace goto lp
set/a w=0
if %t% gtr 1024 goto :eof
set t=%t%.
set n=2
:loop
set /a modr*=10,r=modr/%1,w+=1
if %w% geq %n% set/a modr=modr%%%1*10/%1 && goto lpok
set t=%t%%r%
set/a modr=modr%%%1
goto loop
:lpok
cls
for /f "delims=0 tokens=*" %%i in ("%t%%r% %mn%") do set t=%%i
echo.&echo.&echo. %disk% 盘可用空间为: %t%&echo.&pause&exit
CODE: [Copy to clipboard][ Last edited by exzzz on 2009-1-10 at 18:33 ]Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colDrives = objFSO.Drives
For Each objDrive in colDrives
Wscript.Echo objDrive.DriveLetter & " 盘的可用空间是" & FormatNumber(objDrive.FreeSpace/1024/1024,0) & "MB,总容量是 " & FormatNumber(objDrive.TotalSize/1024/1024,0) & "MB"
Next
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |