![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 16:18 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教。关于磁盘空间已满,需要删除文件的批处理、 |
| 可打印版本 1,223 / 8 |
| 第1楼 y111y | 发表于 2008-03-02 21:49 |
| 新手上路 发帖 6 积分 14 | |
|
请教。关于磁盘空间已满,需要删除文件的批处理、 现在有一台服务器。N台客户机。现在有一情况,客户机因为经常自动从服务器拷贝到本地磁盘。导致d盘空间经常不足,需要人工进行清除文件。
现请教一下。如果要启动计算机的时候加个批处理。如何做? 思路如下。 自动检测D盘空间是否小于8G freedisk/d d: 8gb >null 如果小于8G 就删除指定文件夹。 比如说文件夹 1 2 3 4 5 ,也许1上次就已经删除,那么就依次删除,并检测磁盘空间是否保持8G 以上。 |
|
| 第2楼 y111y | 发表于 2008-03-02 23:25 |
| 新手上路 发帖 6 积分 14 | |
|
我是笨蛋,就会点简单的。循环起就不知所以了。
|
|
| 第3楼 y111y | 发表于 2008-03-03 15:19 |
| 新手上路 发帖 6 积分 14 | |
|
谁来帮个忙啊。。。。。救急 了。。。谢谢了。 。
|
|
| 第4楼 moniuming | 发表于 2008-03-03 22:21 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
@echo off
for %%a in (1 2 3 4 5) do ( for /f "tokens=3 delims= " %%b in ('dir d:\^|findstr "可用字节"') do ( if %%b lss 8000000000 ( echo rd /s /q "%%a" ) else ( goto out ) ) ) :out exit |
|
| 第5楼 moniuming | 发表于 2008-03-03 22:58 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
晕,楼上的代码经测试出现"此时不应有else"的错误提示,下面的代码已经修改好了
如果空间大于8G则不删除文件夹 @echo off for %%a in (1 2 3 4 5) do ( for /f "tokens=3 delims= " %%b in ('dir d:\^|findstr "可用字节"') do ( if %%b lss 8000000000 rd /s /q "d:\%%a" if %%b gtr 8000000000 echo 磁盘空间已经大于8G&goto out ) ) :out echo.&pause&exit /b |
|
| 第6楼 y111y | 发表于 2008-03-04 00:14 |
| 新手上路 发帖 6 积分 14 | |
|
谢谢 那我去测试一下。
|
|
| 第7楼 y111y | 发表于 2008-03-04 00:22 |
| 新手上路 发帖 6 积分 14 | |
|
俺是猪。。。 谁帮我做个现成的。。俺是猪。。
比如: 磁盘空间保留8GB 以上。。少于8GB 时 删除 D:\netgame\征途 循环检测磁盘空间,如果征途目录已经没有了,磁盘空间还是大于8GB 就删除其他指定的文件夹。循环10个文件夹。 |
|
| 第8楼 y111y | 发表于 2008-03-04 00:23 |
| 新手上路 发帖 6 积分 14 | |
|
我发现我学习学的简直是猪,单一的知道。循环的就一塌糊涂的猪。。
|
|
| 第9楼 moniuming | 发表于 2008-03-04 22:42 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
@echo off
set aa=d:\netgame\征途 set ab=d:\1 set ac=d:\2 set ad=d:\3 set ae=d:\4 set af=d:\5 set ag=d:\6 set ah=d:\7 set ai=d:\8 set aj=d:\9 for %%a in (%aa% %ab% %ac% %ad% %ae% %af% %ag% %ah% %ai% %aj%) do ( for /f "tokens=3 delims= " %%b in ('dir d:\^|findstr "可用字节"') do ( if %%b lss 8000000000 rd /s /q "%%a" 2>nul if %%b gtr 8000000000 echo 磁盘空间大于8G&goto out ) ) :out exit /b 1-9是你要删除的文件夹的完整路径 唉,真不知道这样是帮你还是害你 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |