[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  演示代码如下:
  1. @echo off
  2. cd.>fsutil.txt
  3. setlocal enabledelayedexpansion
  4. for /f %%i in ('fsutil^|findstr /b [a-z]') do (
  5.     for /f "tokens=1,3" %%j in ('fsutil %%i') do (
  6.         if "%%j"=="----" (set str=%%k) else (fsutil !str! %%j|findstr /v " 是无效参数。")>>fsutil.txt
  7.     )
  8.     (echo.&echo.)>>fsutil.txt
  9. )
  10. start fsutil.txt
复制代码
  最开始,我认为这个问题很好解决,可是,真正把代码写完,竟然花掉了半个多小时:两分钟时间码字,30多分钟后才想到要用 |findstr /v " 是无效参数。" 来过滤显示结果。至于为什么需要过滤,我一直弄不明白,期待后面的解答。

TOP

  当我在第二个do之后添加echo %%j的时候,会显示 Echo 处于关闭状态 云云,那么,也就意味着存在空行,可是,普通的for语句不是自动过滤掉空行的么?没想明白。

TOP

返回列表