1.自己写的代码- @echo off
- set directory=e:\bat\
- set /a sumSize=0
- for /f %%i in ('dir /b /a-d /s %directory%') do (
- set /a sumSize=sumSize+%%~zi
- )
- set /a sumSize=sumSize/1024
- echo 目录%directory% 中占用%sumSize%KB
- pause
复制代码 2.论坛 那个<<变脸>> ..头像的版主- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=2* delims= " %%a in ('dir /s /ah /ar /aa /as /a /-c "E:\bat\"') do (
- set var=!num!
- set num=%%b
- )
- echo %var%
- pause
复制代码 问题:
1.就我们平时所说的 我看看我这目录(文件夹) 中有存了多少文件(大小)
编写代码 是否应该是 求我们看到的有后缀的文件大小 (应该有没有后缀 也是文件的玩意)
2.求对大佬 的代码 解释下 有些不太明白
dir /aa 等价与 /a-d 吗 为啥会有 /aa 中命令 /?中没有提及啊
/a 和 /ad /ah /ar 是什么关系 把/a? 所有的罗列完 就能包括 目录中的所有有关文件的属性了吗
3. set var=!num!
set num=%%b这是什么操作 变量没有定义之前 就能使用吗 就算他们是一行 不也要分先后吗? 难道说 我多几层变量传递 就可以得到 该变量(最后的变量) 的前几次值了
其他一些思考 请解惑?
1.我们编写的bat文件 是不是把cmd命令处理的结果 分析加以利用
2.cmd/bat 的 基本处理 单元是 行
for 操作是 每行执行 对每行的数据操作
3 cmd 处理的是 字符串 dir 结果可以 再次 别的 命令使用 如 管道符 | |