标题: 批处理判断硬盘剩余空间量,求助代码更改!
[打印本页]
作者: dguest
时间: 2010-10-24 17:03
标题: 批处理判断硬盘剩余空间量,求助代码更改!
各位好!
本人想写个显示硬盘某分区使用量的脚本,写了部分,如下:
set fal=FALSE
set a=0
for /f "eol=; skip=1 tokens=1,2,8,15" %%i in ('wmic logicaldisk') do (
set is_fal=%%j
if /I !fal!==!is_fal! (
set /a a+=1
set disk!a!=%%i
set used!a!=%%k
set total!a!=%%l
)
)
for /L %%x in (1,1,3) do (
set /a p=used%%x*100/total%%x
echo !p!
)
原理简介:使用wmic logicaldisk获取本地硬盘分区信息,通过FALSE判断是否为逻辑分区,若是,则获取该分区的分区名称,分区可用空间,分区总空间,因此在第一个for循环中加入变量a,避免赋值覆盖,期望结果如:disk0=C:,disk1=D:。。。但在运行中发现,变量a的值并未发生改变,由于本人对for、if的运用不是很好,望高手进行指点,谢谢!
[
Last edited by dguest on 2010-10-25 at 11:45 ]
作者: dguest
时间: 2010-10-24 20:58
标题: 换了个思路,搞定
setlocal enabledelayedexpansion
for /f "eol=; skip=1 tokens=1,2,8,15" %%i in ('wmic logicaldisk') do (
if /I "%%j"=="FALSE" (
set used=%%k
set total=%%l
set /a p=!used:~0,-6!*100/!total:~0,-6!
if "!p!" LEQ "15" goto :error
)
)
echo faild
pause
:error
echo success
pause