无忧启动论坛

标题: 解决纯DOS下FOR命令不能使用/f /l 等参数的问题 [打印本页]

作者: 2011aaaaa0808    时间: 2011-10-8 06:23
标题: 解决纯DOS下FOR命令不能使用/f /l 等参数的问题
info.txt 保存两块磁盘的信息,内容如下:
Disk: 1 (149.05GB) M:[WDC WD1600AAJS-22PSA0] S:[WD-WCAP91806016]
    1.1: (  10.01GB) [G:\] Active Volume NTFS l:[GO7]
    1.2: (  18.94GB) [D:\] Volume NTFS l:[PAGE]
    1.3: ( 100.09GB) [E:\] Volume NTFS l:[DATA]
    1.4: (     10GB) [F:\] Volume NTFS l:[WIN7]
    1.5: (     10GB) [C:\] Volume NTFS l:[WINXP]
         (   2.49MB) Unused Space
Disk: 2 (7.50GB) M:[Ut165 USB Flash Disk 0.00]
    2.1: (   7.49GB) [I:\] Active Volume NTFS l:[时尚蛤蟆]
         (   6.33MB) Unused Space

autoexec.bat 内容如下:
echo off
echo *********************************
echo.
setlocal enabledelayedexpansion
for /f "tokens=1-3 delims=() " %%a in (info.txt) do (
    if "%%a" == "Disk:" (
        set /a value+=1
        set disk!value!=%%c
        for /f "tokens=1-7 delims=() " %%a in (info.txt) do (
             if "%%a" == "!value!.1:" (
                set par!value!=%%b
                set vol!value!=%%g
            )
        )
    )
)
echo           磁盘数量:%value%
echo.
for /l %%a in (1,1,%value%) do (
    if defined disk%%a (
        echo      第 %%a 磁盘容量:!disk%%a!
        if defined par%%a (
            echo      第一分区 容量:!par%%a!
            if defined  vol%%a (
                echo      第一分区 卷标:!vol%%a:~3,-1!
            )
        )
        echo.
    )
)
echo *********************************


在XP命令行执行结果如下:
*********************************
          磁盘数量:2

     第 1 磁盘容量:149.05GB
     第一分区 容量:10.01GB
     第一分区 卷标:GO7

     第 2 磁盘容量:7.50GB
     第一分区 容量:7.49GB
     第一分区 卷标:时尚蛤蟆

*********************************


但是,在纯DOS下不能使用for的 /f 和 /l 等参数,会提示语法错误。
请问,在纯DOS下如何通过find、findstr、set等命令获得以上想要的结果?
或者,在纯DOS下如何用获得字符Disk在info.txt中出现的所有行数分别赋给不同变量?


小弟感激不尽!!


[ 本帖最后由 2011aaaaa0808 于 2011-10-9 22:13 编辑 ]

QQ五笔截图未命名.jpg (7.93 KB, 下载次数: 52)

QQ五笔截图未命名.jpg

作者: bbsphixy    时间: 2011-10-23 00:08
DOS下的for和系统下的for是有区别的,DOS下的for并没有系统下的for那么强大,很多参数都没的!
给你个方向:
omnifs + awk 结合使用(awk文字处理工具)

去学习awk的用法吧!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3