使用cmd / batch脚本过滤信息

时间:2013-04-18 18:45:09

标签: batch-file filter cmd

我正在使用“磁盘使用情况”(http://technet.microsoft.com/en-us/sysinternals/bb896651)来获取回收站的大小。

问题在于我得到了一些我不需要的信息,我无法弄清楚如何选择我感兴趣的部分。

du命令的输出为:

  

档案:27

     

目录:3

     

大小:322.675.258字节

     

磁盘大小:322.773.120字节

我需要一个批处理脚本或者只能在文本文件中提供Size值的东西。

3 个答案:

答案 0 :(得分:0)

在批处理文件中,使用for /f循环遍历文本行。

for /f "tokens=1* delims=:" %%a in ('du') do (
    if /i "%%a" equ "size" echo %%b
)

在您的示例中,应该输出:

322.675.258 bytes

答案 1 :(得分:0)

试试这个,在之前设置所需的文件夹:

@echo off&setlocal enabledelayedexpansion
set "folder=%systemdrive%\$RECYCLE.BIN"

for /f "delims=" %%i in ('du "%folder%" 2^>nul') do (
set "size=!dsize!"
set "dsize=%%i")
>recycle.txt echo(%size%

输出位于recycle.txt

答案 2 :(得分:0)

如果大小以千字节为单位,您也可以这样做:

for /f "skip=1 delims=, tokens=6" %a in ('du -c') do echo %a >size.txt

%符号加倍,以便在批处理脚本中使用它。