![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 10:48 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求一P处理,取得硬盘剩余容量大小。 |
| 可打印版本 860 / 8 |
| 第1楼 binjie | 发表于 2009-02-23 17:03 |
| 新手上路 发帖 9 积分 17 | |
|
求一P处理,取得硬盘剩余容量大小。 求一P处理,取得硬盘剩余容量大小。
先取得A盘容量大小,当小于20M则执行del命令,大于20M则跳过执行del 谢谢高手! |
|
| 第2楼 zhengqian529 | 发表于 2009-02-23 17:35 |
| 初级用户 发帖 93 积分 100 来自 湖南 | |
|
【转】网络上的查看剩余磁盘空间的代码。 del 是删除文件命令,rd是删除文件夹命令。 你这个题目我不敢尝试。不过我有一个网络上转来的的代码,可以查看机器磁盘的剩余空间
|
|
| 第3楼 binjie | 发表于 2009-02-23 17:49 |
| 新手上路 发帖 9 积分 17 | |
|
你上面这个试过了不行,
这个可以,但不懂怎样加入判断大小后执行命令。 @echo off&color b set disk=x 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 |
|
| 第4楼 zhengqian529 | 发表于 2009-02-23 18:01 |
| 初级用户 发帖 93 积分 100 来自 湖南 | |
|
你是考虑删除A盘所有文件还是只是删除文件?
1. 判断大小, 你看你的程序里面的最后一行:%t% 它记录盘的大小,你可以使用if语句.把20M 化为与%t%同样的单位,比如Mb,kb,byte。 2. 删除文件,比较之后执行 del 或者 rd 命令如: if %t% lss 20 del /s %disk%:\ (单位为MB,删除这个盘下的所有文件,如果你是想删除底下的所有文件,可以使用rd /s %disk%:\) 3. 如果你的意图是格式化整个磁盘,使用format命令是再好不过的啦。最好看下format的帮助: format /? |
|
| 第5楼 lianjiang2004 | 发表于 2009-02-23 18:04 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
意图不明,呵呵。
。 |
|
| 第6楼 moniuming | 发表于 2009-02-23 19:37 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
如果只是判断一个分区,用下面的代码应该可以,如果要判断整个硬盘,请自行修改...
|
|
| 第7楼 不得不爱 | 发表于 2009-02-23 20:08 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
请自行修改 disk 变量为你需要检测的盘符,把 echo 语句行替换为你想要执行的命令就可以了!
|
|
| 第8楼 binjie | 发表于 2009-02-23 23:16 |
| 新手上路 发帖 9 积分 17 | |
|
太感谢版主了。谢谢
|
|
| 第9楼 binjie | 发表于 2009-02-23 23:24 |
| 新手上路 发帖 9 积分 17 | |
Originally posted by 不得不爱 at 2009-2-23 08:08 PM: |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |