设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> Windows 9.x >> 最强之dos命令 - for
精品推荐
Windows 9.x点击TOP10
·在WinNT/2K/XP下安装纯DOS
·Windows XP中的DOS命令详解
·最强之dos命令 - for
·利用注册表优化提高系统性能
·DOS的MPXPLAY命令行参数
·DOS下常用的相关网络命令
·DOS环境变量“全家福”
·kernel32.dll出错解决方案
·DOS下常用压缩和解压工具
·必须掌握的八个DOS命令
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

最强之dos命令 - for

作者: 来源:网络文章 时间:2005-12-19 15:54:54

最强之dos命令 - for(1)

    以前常觉得DOS的命令行功能太弱,无法象Unix一样可以用命令行完成非常复杂的操作。实际上,当MS从WIN2K开始将命令行增强后,已经借鉴了相当多UNIX的优点,虽然还无法做到象UNIX那么灵活,但已可完成绝大多数的任务,比如用&&和  连接两个(或更多)命令,由前一个的返回值来决定下一个是否执行,等等。而在这些增强中,最明显的,就是FOR命令。

    举个例子,用适当的参数,可用FOR命令将 date /t 的输出 从 "Sat 07/13/2002" 变成你想要的格式,比如, "2002-07-13":


    c:>for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do @echo %c-%a-%b
    2002-07-13


    该例将在(3)中详细说明。

    0. 基本应用

    简单说,FOR是个循环,可以用你指定的循环范围生成一系列命令。最简单的例子,就是人工指定循环范围,然后对每个值执行指定的命令。例如,想快速报告每个硬盘分区的剩余空间:


    for %a in (c: d: e: f do @dir %a   find "bytes free"

    将输出:

    8 Dir(s) 1,361,334,272 bytes free
    15 Dir(s) 8,505,581,568 bytes free
    12 Dir(s) 12,975,149,056 bytes free
    7 Dir(s) 11,658,854,400 bytes free


    用它可以使一些不支持通配符的命令对一系列文件进行操作。在WIN9X中,TYPE命令(显示文件内容)是不支持*.txt这种格式的(WIN2K开始TYPE已支持通配)。遇到类似情况就可以用FOR:


    for %a in (*.txt) do type %a 


    这些还不是FOR最强大的功能。我认为它最强大的功能,表现在以下这些高级应用:


    1. 可以用 /r 参数遍历整个目录树

    2. 可以用 /f 参数将文本文件内容作为循环范围

    3. 可以用 /f 参数将某一命令执行结果作为循环范围

    4. 可以用 %~ 操作符将文件名分离成文件名、扩展名、盘符等独立部分


    现分别举例说明如下:

    1. 用 /r 遍历目录树

    当用 *.* 或 *.txt 等文件名通配符作为 for /r 的循环范围时,可以对当前目录下所有文件(包括子目录里面的文件)进行操作。举个例子,你想在当前目录的所有txt文件(包括子目录)内容中查找"bluebear"字样,但由于find本身不能遍历子目录,所以我们用for:


    for /r . %a in (*.txt) do @find "bluebear" %a


    find 前面的 @ 只是让输出结果不包括 find 命令本身。这是DOS很早就有的功能。和FOR无关。

    当用 . 作为循环范围时,for 只将子目录的结构(目录名)作为循环范围,而不包括里面的文件。有点象 TREE 命令,不过侧重点不同。TREE 的重点是用很漂亮易读的格式输出,而FOR的输出适合一些自动任务,例如,我们都知道用CVS管理的项目中,每个子目录下都会有一个CVS目录,有时在软件发行时我们想把这些CVS目录全部去掉:


共4页 9 7 [1] [2] [3] [48 :>

最强之dos命令 - for 相关文章:
最强之dos命令 - for 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com