日期:2014-05-17  浏览次数:20732 次

Windows 命令行基础(上)
?

Windows 命令行基础

原始 HTML 档案请到 http://sites.google.com/site/ghenix/ 下载。

目录

1. 引言:为什么要使用命令行
2. 文件系统基础
  2.1 分区与盘符
  2.2 文件与名称
  2.3 文件的目录管理
  2.4 绝对路径和相对路径
 3. 基本命令
  3.1 目录操作命令
  3.2 文件操作命令
  3.3 通配符
  3.4 命令输入技巧
4. 一些较高级的概念
  4.1 输入输出重定向和管道
  4.2 特殊设备
  4.3 环境变量
5. 批处理文件简介
6. 几个应用实例
  6.1 批量改名
  6.2 批量“粉碎”文件
  6.3 清理 Windows 临时文件夹 %tmp%
  6.4 优化服务配置:svc2kxp.cmd
  6.5 下载一系列图片:for + wget
7. 参考文献
附录1:常用 DOS 命令一览
附录2:Windows 中的一些有用的命令
附录3:相关资源

1. 引言:为什么要使用命令行

  在 DOS 时代,人们只能依靠输入命令同计算机互交。而现在,微软的 Windows 操作系统已得到了广泛使用,我们处理日常事务也大多使用基于图形用户界面(GUI ,Graphics User Interface)的应用程序,命令行正在逐渐被人们淡忘。但我们同时也看到,系统自带的命令行解释器从 Windows 98 的 command.com 变成 Windows XP 的 cmd.exe ,功能大大增强了。

  命令行有它独特的价值,在某些方面的表现是 GUI 程序无法获得的,下面举例来说:

  1. Windows 系统有时会出现故障,或是中了病毒、木马,系统根本无法引导。而整个 DOS 操作系统可装入一张软盘,只要用一张启动盘就可进入 DOS ,从而进行备份数据、修复系统等工作。如果你不会 DOS 命令,修复系统便无从谈起。当然,还有一些别的修复工具,比如 WinPE 、故障恢复控制台等,也能用来修复系统。但 DOS 启动盘具有制作简单、体积小等优点。在 DOS 中使用的命令请参考附录1。

  2. Windows 命令行中提供了一系列实用小工具,极为绿色。比如 ping、netstat、diskpart 等命令。这方面可参考“附录2”。

  3. 学习 Windows 命令行,有助于我们更深入地了解 Windows 的工作方式。

  4. 很多软件既有图形前端,又有命令行版可供选择。如 7-Zip、WinRAR(两者都是压缩软件)皆有命令行版,微软的 cabarc(用来制作 CAB 压缩包)也是命令行程序。使用命令行版的软件通常具有占用资源少、运行速度快、可通过脚本进行批量处理等优点。

  当然,命令行也有其缺点。比如界面不够美观,手工输入命令较为繁琐(这可以通过一些输入技巧来弥补,详见 3.4 节),学习起来较为困难等。

  本文涵盖了 Windows 命令行的各方面的内容,从最简单的文件名命名规范到编写脚本文件,主要是基础知识。本文主要是为那些 Windows 命令行新手而写的,对读者的技术水平或使用计算机的经历不做任何要求。

  不同的 Windows 在命令行处理上也有细微差异,我用的系统是 Windows XP Home SP2 ,后面一些命令的运行结果也是基于此。

2. 文件系统基础

  计算机内各种信息,如程序、数据等都是以文件形式存在的,使用计算机,可以说是对各种文件的操作管理。文件系统是 Windows 的一个组件,它能够让用户查看、组织以及保护存储设备上的文件和目录并与其进行互交。在“我的电脑”中选中任一本地磁盘,单击右键 -> “属性”,在弹出的“属性”对话框中可看到该磁盘(分区)的文件系统。

  Windows 中常见的文件系统有 FAT 、FAT32 、NTFS 、CDFS ,其中 CDFS 用于 CD-ROM ,其他用于磁盘。本文并不讨论文件系统的详细情况,欲了解请上网查找。

  值得注意的是,Windows XP 是不区分大小写、但又保留大小写的操作系统。

2.1 分区与盘符

  文件系统是多个文件的逻辑集合,它位于分区或磁盘上。分区是信息的容器,如果需要的话,它也可以包含整个物理硬盘。例如,可以整个吃掉一个苹果 派,也可以切成片,这类似于对硬盘或其他物理存储设备的操作方式。一片苹果派类似于磁盘的一个分区,而完整的苹果派表示将整个硬盘作为一个分区。当然还有 更高级的含义,但是就本章而言,只是把整个硬盘或硬盘的系统划分看作分区。我们平时说的C:、D: 等即指磁盘分区,这些磁盘分区可能位于同一块物理硬盘上,也可能位于不同的两块硬盘。C:、D: 等称为盘符或驱动器号,只是系统的一种表示符号,可以更改或重新分配。一个分区通常只包含一个文件系统。

2.2 文件与名称

  文件名称由文件名和扩展名组成,两者由小黑点分隔,扩展名通常是用来表示文件的类别。Windows 中整个文件名称最长 255 个字符(一个中文字算两个字符);DOS 中,文件名最长 8 字符,扩展名最长 3 字符,故又称 DOS 8.3 命名规则。文件名称可仅有前半部,即无扩展名,如文件名称最短可以是“1”、“C”等。给文件命名还应注意以下规则:

  1. 文件名不能包含下列任何字符之一(共 9 个):\/:*?"<>|。
2. 不能单独使用“设备名”作文件名。“设备名”包括:con ,aux ,com0 ~ com9 ,lpt0 ~ lpt9 ,nul ,prn 。
3. 文件名不区分大小写,如 A.txt 和 a.TxT 表示同一文件。

  你也许会发现很多文件没有扩展名,其实不然。这是因为 Windows 在默认情况下会隐藏大部分文件的扩展名。如果希望显示所有文件的扩展名的话,打开“我的电脑”,“工具”菜单 -> “文件夹选项”,再在“查看”选项卡中,去掉“隐藏已知文件类型的扩展名”。另外,Windows 是根据文件的扩展名来决定对文件的操作的,而不是根据内容。例如,把一个文本文件(txt)的扩展名改为“RM”,再双击它,Windows 就会调用某个安装在你电脑上的媒体播放器(如 RealPlayer)来打开它。

2.3 文件的目录管理

  把大量文件全放在一个目录里,操作系统查找一个给定的文件时就要花较长时间,同时,删除时也易误删除,对用户来说极不方便。于是,操作系统采用 了目录的分级管理。将一个用户的同一类文件放在某个单独的目录下,和磁盘上所有其他文件分开来,这样的目录文件使用和管理起来要方便和科学得多。

目录好比书的章、节等不同层次,呈树形结构。除根目录外,其他目录称为子目录。子目录下又可再带子目录。左图是一个树形目录结构的例子。

?

  除根目录外的所有子目录都有个名字,命名规则同文件,一般没有扩展名。

2.4 绝对路径和相对路径

  当我们建立或修改一个文件时,必须向 Windows 指明这个文件的位置,这须知道三件事:驱动器、文件所在目录和文件名,这些信息构成一个路径。

  路径是由一系列目录名组成的,这些目录名之间用“\”分开,也可以把文件名(文件名和最后一个目录也用“\”分开)和驱动器号包括在内。例如:C:\WINDOWS\explorer.exe 。

  每个文件都有一个绝对路径和一个相对路径。绝对路径是指文件在文件系统中的准确位置,如 C:\WINDOWS\notepad.exe 。命令行解释器可以记住一个指定的目录,称为当前目录,相对路径即指文件相对于当前目录的位置。例如,如果用户在 C:\WINDOWS 目录下,则 C:\WINDOWS\notepad.exe 的相对路径是 notepad.exe 。这类似于家庭住址。如果是将自己的地址告诉住在同一座城市的人,可能会说自己住在某条街过去两条街。这就是相对地址——相对于同一座城市。如果是将自己 的地址告诉其他国家的某个人,就必须说得更加详细,如中国某个省某个市中的某条街某号以及邮政编码,这就是绝对地址。相对路径常用于脚本,且使输入更简 便,但是绝对路径是一个更为安全的选择,因为它避免了可能出现的歧义。

  如果一个路径是用“\”开始的,Windows 就从根目录开始找起(绝对路径),否则就从当前目录开始找(相对路径)。