无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3294|回复: 1
打印 上一主题 下一主题

解决纯DOS下FOR命令不能使用/f /l 等参数的问题

[复制链接]
跳转到指定楼层
1#
发表于 2011-10-8 06:23:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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, 下载次数: 38)

QQ五笔截图未命名.jpg
2#
发表于 2011-10-23 00:08:30 | 只看该作者
DOS下的for和系统下的for是有区别的,DOS下的for并没有系统下的for那么强大,很多参数都没的!
给你个方向:
omnifs + awk 结合使用(awk文字处理工具)

去学习awk的用法吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 16:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表