标题: [系统相关] [已解决]批处理用不同的方法获取文件(夹)的大小 [打印本页]
作者: 小文 时间: 2015-4-15 13:04 标题: [已解决]批处理用不同的方法获取文件(夹)的大小
本帖最后由 小文 于 2015-4-25 08:40 编辑
在网上找了半天,大概这东西还是不容易实现吧。他们的代码大都用到了for,很多我看不懂,试了也没有效。
dir /s E:
可以得到以信息:
所列文件总数:
98 个文件 7,778,542 字节
6 个目录 163,000,238,080 可用字节
可不可以用findstr来获取呢?
注意:
1.每个目录会产生一个“个文件”、“字节”;
2.它总是们于倒数第3行(倒数第1行是转行);
3.它总是在“所列文件总数:”行的下1行或“可用字节”的上1行;
根据2和3点,大概可以得到一个目录的大小了。只是又怎样获取这一行文本呢?
这又扯到了文本处理:
能不能把
所列文件总数:
98 个文件 7,778,542 字节
合为一行
所列文件总数:98 个文件 7,778,542 字节
或是直接获取文本的倒数第3行?
或是
2.它总是们于倒数第3行(倒数第1行是转行);
3.它总是在“所列文件总数:”行的下1行或“可用字节”的上1行;
思路我觉得是可行的,但我不知道怎样去做,网上对文本中的换行符处理的BAT又很少,还望各位指点,还有没有其他思路。
作者: pcl_test 时间: 2015-4-15 14:08
- @echo off
- for /f "tokens=*" %%a in ('dir /s "E:\" ^|find "个文件"') do set "str=%%a"
- echo,所列文件总数:%str:,=%
- pause
复制代码
作者: pcl_test 时间: 2015-4-15 14:56
- '&cls&@echo off&cscript -nologo -e:vbscript %~fs0 & pause &exit /b
- folder = "文件夹路径"
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set f = fso.GetFolder(folder)
- s = UCase(folder) & " 大小为 " & f.size & " 字节。"
- Wscript.Echo s
复制代码
作者: 小文 时间: 2015-4-16 22:46
回复 3# pcl_test
这是VBS吗?
作者: pcl_test 时间: 2015-4-16 22:56
回复 4# 小文
vbs+bat
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |