![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 13:57 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 可以使用dos命令获得磁盘剩余空间吗? |
| 可打印版本 3,075 / 20 |
| 第1楼 acme | 发表于 2007-04-11 20:42 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
可以使用dos命令获得磁盘剩余空间吗? 可以使用dos命令获得磁盘剩余空间吗?
各位大哥:dos能做到吗?;) |
|
| 第2楼 Climbing | 发表于 2007-04-11 22:19 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
dir就可以了。
|
|
| 第3楼 acme | 发表于 2007-04-12 12:40 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
dir/c可以显示出来;
但是我是想将剩余空间大小作为一个判断条件。、 dir/c可以将剩余大小的值=a吗? set a=%dir/c% 行吗? |
|
| 第4楼 lxmxn | 发表于 2007-04-12 14:10 |
| 版主 发帖 4,938 积分 11,386 | |
|
不行。 |
|
| 第5楼 acme | 发表于 2007-04-12 21:07 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
我说的目的是想达成,在d盘剩余空间小于500MB时删除d盘中建立最早的2gb资料。
大哥们觉得通过*.bat可以实现吗? 《如果问题很幼稚,各位不要见笑,我是新手!》 |
|
| 第6楼 Climbing | 发表于 2007-04-12 21:31 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
新手并不可笑,但如果新手不认真学习以前的讨论内容就不断的提问题就不太好了。
你的问题并不复杂,应该比较容易解决,我可以提示你用for命令提取出相关的值来进行判断,或者使用wmic命令: wmic logicaldisk list brief |
|
| 第7楼 bjsh | 发表于 2007-04-12 22:57 |
| 银牌会员 发帖 621 积分 2,000 | |
|
wmic logicaldisk where deviceID="c:" get FreeSpace |more +1
其他盘自行更改其中的c:为其他盘 |
|
| 第8楼 GOTOmsdos | 发表于 2007-04-12 23:48 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
如果是要在纯DOS下:
1 用第三方 get K ,但好象只能支持最大2G 2 用第三方 LMOD, 分析DIR 的结果, 没有2G限制 dir C:\ /w/ahd | find " free" | lmod /s set freesize=[$!-2] [$!-1][-]>freesize.bat call freesize |
|
| 第9楼 airosp | 发表于 2007-04-12 23:56 |
| 初级用户 发帖 41 积分 99 | |
|
用diskpart也不错~
|
|
| 第10楼 acme | 发表于 2007-04-13 08:49 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
可以详细指点一下吗?
如何将他用语条件判断中? 谢谢! |
|
| 第11楼 bjsh | 发表于 2007-04-13 10:04 |
| 银牌会员 发帖 621 积分 2,000 | |
|
for /f %%a in ('wmic logicaldisk where deviceID="c:" get FreeSpace |more +1') do if "%%a" geq ......
|
|
| 第12楼 acme | 发表于 2007-04-13 20:41 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
谢谢了,如果验证ok再来谢谢指导者。
|
|
| 第13楼 acme | 发表于 2007-04-17 08:56 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
我试验了很多都是无法实现,哪位高手可以说明详细一点吗?
我要实现的就是: 如果d盘的空间小于1GB了就自动删除建立时间最早的2个资料夹。 |
|
| 第14楼 acme | 发表于 2007-04-17 20:57 |
| 中级用户 发帖 98 积分 238 来自 陕西 | |
|
大哥,你给注意吧。
|
|
| 第15楼 a25969805 | 发表于 2007-04-24 23:09 |
| 新手上路 发帖 3 积分 5 | |
|
@echo off
set driver=e for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set c=%%c for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set d=%%d for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set e=%%e for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set f=%%f for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set g=%%g for /f "tokens=1-10 delims=, " %%a in ('dir %driver%: ^| find "可用字节"') do set h=%%h echo %d% | find "字节" >nul if %ERRORLEVEL% neq 0 goto nexte set space=%c% :nexte echo %e% | find "字节" >nul if %ERRORLEVEL% neq 0 goto nextf set space=%c%%d% set /a space=%space%/1024/1024 :nextf echo %f% | find "字节" >nul if %ERRORLEVEL% neq 0 goto nextg set space=%c%%d%%e% set /a space=%space%/1024/1024 :nextg echo %g% | find "字节" >nul if %ERRORLEVEL% neq 0 goto nexth set space=%d%%e%%f% set /a space=%space%/1024/1024 set t=%c% set /a t=%t%*953 set /a space=%space%+%t% :nexth echo %h% | find "字节" >nul if %ERRORLEVEL% neq 0 goto nextx set space=%c%%d%%e%%f%%g% set space=%d%%e%%f% set /a space=%space%/1024/1024 set t=%c%%d% set /a t=%t%*953 set /a space=%space%+%t% :nextx echo %driver%:=%space%M___FREE echo 按任意键退出... && pause>nul |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |