标题: [系统相关] 批处理 判断C盘大小,假如C盘小于10G则删除某个文件夹下的文件 [打印本页]
作者: xqsong 时间: 2012-3-22 14:24 标题: 批处理 判断C盘大小,假如C盘小于10G则删除某个文件夹下的文件
请教哪位高手:
1, 判断C盘容量大小
2, 假如C盘小于10G则删除C:\stw\Master\*.*文件
3, 同时打开C:\A.jpg图片到当前桌面
作者: 冷玉公子 时间: 2012-3-22 16:01
建议下次发帖前,先做搜索。
http://www.bathome.net/viewthrea ... hlight=%B4%C5%C5%CC
作者: find 时间: 2012-3-22 20:50
回复 2# 冷玉公子
你还需要教楼主怎样比较空间是否小于10G
这个对于初学者可不是一件容易的事情
作者: xqsong 时间: 2012-3-23 08:37
的确需要帮忙完成整个批处理
只有显示容量没有用。。。
作者: ydfan8888 时间: 2012-3-23 09:15
学习了
功能确实不错
作者: xqsong 时间: 2012-3-23 10:37
哪位高手请帮忙写一个批处理?非常感谢。。。
作者: apang 时间: 2012-3-23 13:38
本帖最后由 apang 于 2012-3-23 13:40 编辑
- @echo off&setlocal enabledelayedexpansion
- set size=10737418240
- for /f "skip=1" %%a in ('wmic logicaldisk where ^(deviceid^="c:"^) get size') do set sizec=%%a
- set var=!sizec!&call :lp
- if !n! gtr 11 (echo 大于10G&pause&goto :eof
- ) else (
- if !n! lss 11 (goto st
- ) else (
- for /l %%a in (0 1 10) do (
- set/a a=!sizec:~%%a,1!&set/a b=!size:~%%a,1!
- if !a! gtr !b! (echo 大于10G&pause&goto :eof
- ) else if !a! lss !b! goto st
- )
- )
- )
- :st
- del /s /q C:\stw\Master\*.*
- start "" C:\A.jpg
- goto :eof
- :lp
- if not "!var!"=="" set var=!var:~0,-1!&set/a n+=1&goto lp
复制代码
写的很啰嗦,哪位高手简化下。
作者: xqsong 时间: 2012-3-23 16:33
尝试了,小于10G时不能执行后面的命令,好像在判断硬盘大小时数值太大导致。。。。
作者: xqsong 时间: 2012-3-25 11:18
哪位高手请指点啊,因硬盘容量数值太大,导致判断失效,请帮忙写一个批处理完成。。。
作者: apang 时间: 2012-3-25 11:45
判断的是C盘容量,与硬盘多大似乎没关系呀
你说“不能执行后面的命令”,是啥意思?
作者: xqsong 时间: 2012-3-25 12:48
应该是:判断语句不起作用,当硬盘到了10G时不执行删除的命令,不确定是否为硬盘容量的大小数值超过了规定的值,如10G的硬盘容量为:10737418240
作者: find 时间: 2012-3-25 12:50
回复 13# xqsong
10G这个数字超过了批处理能够直接比较的上限,需要另外的方法去处理。
作者: find 时间: 2012-3-25 13:21
请不要发私信给我,谢谢。有什么问题直接回复我的帖子,论坛会自动提醒我的。
作者: xqsong 时间: 2012-3-25 18:59
感谢8楼的,读懂了你的程序,原来你写的不是判断硬盘剩余容量而是C盘容量,修改过来就可以,非常感谢各位高手的帮忙!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |