Board logo

标题: for的使用问题 [打印本页]

作者: wwx0423     时间: 2009-6-24 03:56    标题: for的使用问题

有什么办法 可以用 for指令来分析 我dir c:\windows\system32\drivers\etc\hosts >>d:\1.txt 之后的 1.txt中 字节部分。
例子:
我首先用 dir c:\windows\system32\drivers\etc\hosts >>d:\1.txt生成了一个 1.txt。   该文本的内容如下。
-----------
驱动器 C 中的卷没有标签。
卷的序列号是 2C10-E32D

c:\windows\system32\drivers\etc 的目录

2003-03-03  23:23               730 hosts
               1 个文件            730 字节
               0 个目录  2,955,378,688 可用字节
---------------------

现在我需要用 for 指令来 读取  730 字节 中的 730 这个数值赋给一个变量, 但是 我用for,/f,"skip=6 tokens=1,2,*",%%a in (d:\1.txt) do @each %%a>d:\2.txt

好像有问题。   而且, 730字节后还有 2行, 怎么屏蔽后面的2行呀。。
我只想区 这个 730 数值, 然后去对比 是不是 等于 我想要的值。。 怎么做到?
作者: chenall     时间: 2009-6-24 04:08
加一个find命令来定位到730字节这一行.

还有如果只是楼上的例子,其实没有必要这么麻烦.

直接使用%~zi 就可以获取文件大小了.
上面的例子直接显示hosts文件大小(字节)
for %i in (c:\windows\system32\drivers\etc\hosts) do echo %~zi
以上命令在CMD下直接执行,放在批处理中需要换成%%i
作者: wwx0423     时间: 2009-6-24 04:12
非常感谢。。  chenall
我的目的就是需要 hosts的文件大小。
作者: lovelymorning     时间: 2009-6-24 10:48
何必要用dir呢

直接用

for %a in (c:\windows\system32\drivers\etc\hosts) do echo %~za

不是更方便吗?直接出来的,就是大小了。。。

PS:注意换成你需要的内容