Board logo

标题: [求助] 获得U盘自由空间后如何赋值及对比容量? [打印本页]

作者: chishingchan     时间: 2007-12-16 13:40    标题: [求助] 获得U盘自由空间后如何赋值及对比容量?
获得U盘自由空间命令:
wmic logicaldisk where Description="可移动磁盘" get FreeSpace
显示结果:
FreeSpace
20615168

问1:如何将20615168赋值给FreeSpace?则set FreeSpace=20615168
问2:例如我所需的空间是22222222,如何对比并说明空间不足?

作者: chishingchan     时间: 2007-12-16 14:01
刚才测试:
C:\>wmic logicaldisk where Description="可移动磁盘" get FreeSpace /value


FreeSpace=20615168

问题同顶楼

作者: chishingchan     时间: 2007-12-16 14:11
for /f "skip=2 delims== tokens=1,2" %%a in ('wmic logicaldisk where Description="可移动磁盘" get FreeSpace /value^|findstr "FreeSpace"') do @set %%a=%%b
可移动磁盘 - 无效别名动词。

出错了,快来救我啊!

作者: chishingchan     时间: 2007-12-16 14:29
自救成功!

@echo off
for /f "tokens=2 delims==" %%i in ('wmic logicaldisk where Description^="可移动磁盘" get FreeSpace /value^|find "="') do set FreeSpace=%%i
echo %FreeSpace%
if %FreeSpace% lss 22222222 echo 空间不足
if %FreeSpace% gtr 22222222 echo 空间充足
pause

像头蛮牛乱冲乱撞,测试n次终于搞定,都是搜索的帮助!

发了这么多贴了,请版主勿怪,确实没有灌水的嫌疑!只怪本人技术有限及没耐心!

作者: Climbing     时间: 2007-12-16 19:48
for /f "tokens=*" %%i in ('wmic logicaldisk where Description^="可移动磁盘" get FreeSpace /value^|find "="') do set %%i

这样更简洁一些。

作者: chishingchan     时间: 2007-12-16 21:36
Originally posted by Climbing at 2007-12-16 07:48 PM:
for /f "tokens=*" %%i in ('wmic logicaldisk where Description^="可移动磁盘" get FreeSpace /value^|find "="') do set %%i

这样更简洁一些。



把这个去掉 "tokens=*" 更简洁

作者: Climbing     时间: 2007-12-16 23:13
继续精简。