Windows 命令行基础

文件版本:1.0
最后修订:2008-6-23
作者:  Henix<http://hi.baidu.com/shell32>
本作品采用知识共享署名 2.5 中国大陆许可协议进行许可。本文原始 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.cmd6.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 就从根目录开始找起(绝对路径),否则就从当前目录开始找(相对路径)。

  例如,在上图中,若当前目录为 a12 ,要指示子目录 a122 下的文件 ms.txt ,可以用路径 \a1\a12\a122\ms.txt(绝对路径) 或 a122\ms.txt(相对路径)。

  在“我的电脑”中,“地址栏”显示的就是当前目录。如果你看不到地址栏,请找到“查看”菜单 -> “工具栏”,勾选“地址栏”。如果你的地址栏没有显示完整路径(绝对路径),请单击“工具”菜单 -> “文件夹选项”,再在“查看”选项卡中,选中“在地址栏中显示完整路径”。

3. 基本命令

  本章将具体地介绍一些命令。你最好能实践一下本章的内容,这需要使用 Windows 的“命令行解释器”,该程序在 Windows XP 中是 C:\WINDOWS\system32\cmd.exe 。请打开“开始” -> “程序” -> “附件” -> “命令行提示符”。然后,新窗口中可能会显示以下内容:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\%USERNAME%>_

  其中“%USERNAME%”代表您当前的用户名。这里“>”提示符之前显示的就是当前目录。

* 注意以下几点:

  1. Windows 中有两种命令:内部命令和外部命令。内部命令即内置在命令行解释器中的命令,不需要额外的程序,如 dir 、copy 等。外部命令是以可执行文件的形式(扩展名通常为 exe 或 com)存在于磁盘上,这就意味着该程序必须存在,否则 Windows 是找不到该命令的,如 format.com 。

  2. 每条命令输完后须回车,方开始运行,并得到运行结果。命令行解释器把提示符“>”和回车键间的字符串视为一条命令。如果这字符串确实符合 Windows 命令语法,就执行它,执行完后又回到提示符状态,否则命令行解释器给出错误信息。例如:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\root>cd "C:\Program Files"(此处回车,以后不标出)C:\Program Files>_
C:\Program Files>gf
'gf' 不是内部或外部命令,也不是可运行的程序
或批处理文件。C:\Program Files>type a.txt
系统找不到指定的文件。C:\Program Files>_

  3. 要学习某个命令,最好的方法是阅读该命令的联机帮助。可以输入“命令名 /?”或“help 命令名”来查看命令的联机帮助,例如“format /?”。本章对命令的解说仅限于最基本的用法,欲详细了解请看联机帮助。

3.1 目录操作命令

1. cd :Change Directory :改变当前目录
格式:cd [/D] [盘符:][路径]
实例:

C:\>cd \a1\a12\a122  (进入 a122 子目录,即指定 a122 为当前目录)
C:\a1\a12\a122>cd \  (退回根目录)
C:\>_

2. 多级目录之间的转换
1) 由多级子目录转向另一多级子目录

C:\a1\a12\a122>cd \c1\c13
C:\c1\c13>_

 2) 由根目录进入深层子目录
a. 直接进入:

C:\>cd \a1\a12\a122
C:\a1\a12\a122>_

  b. 逐层进入:

C:\>cd a1
C:\a1>cd a12
C:\a1\a12>cd a122
C:\a1\a12\a122>_

 3) 退出深层子目录
a. 直接返回根目录:

C:\a1\a12\a122>cd \
C:\>_

  b. 逐级退出子目录:

C:\a1\a12\a122>cd ..
C:\a1\a12>cd ..
C:\a1>cd ..
C:\>_

 4) 进入同级子目录,如从 C:\a1\a12 转至 C:\a1\a11 :

C:\a1\a12>cd ..\a11
C:\a1\a11>_

  以上实例中用到了“..”,这用来表示当前目录的上级目录(父目录)。类似地,一个点“.”表示当前目录。

  另外,直接用 cd 不能切换到其他盘符,要切换到其他盘,可以用 cd /D 或者用“盘符:”,比如 D: 再回车就表示切换到 D 盘。

3. md :Make Directory :建立子目录
格式:md [盘符:] 新建子目录路径
实例:

C:\a1\a12>md a123  (在当前目录下建立子目录 a123)
C:\a1\a12>md \d1  (在 C 盘根目录下建立子目录 d1)

4. rd :Remove Directory :删除子目录
格式:rd [/S] [/Q] [盘符:]被删除子目录路径
实例:

C:\c1>rd c13  (删除当前目录下的 c13 子目录)
C:\c1>rd ..\b1  (删除根目录下的 b1 子目录)

  说明:1) 只有空子目录(不含文件的)才能被删除(除非用 /S 参数)。
2) 根目录和当前目录不能被删除。

3.2 文件操作命令

1. dir :列文件目录清单
格式:dir [盘符:][路径] [/P] [/W]
说明:1) 参数“/P”为分屏显示,参数“/W”为简要显示(只显示文件名,不显示文件大小日期等信息)。
2) 该命令可以使用通配符“*”和“?”,? 代表任一字符,* 代表任一字符串(若干个字符)。
实例:

C:\>dir  (显示当前目录下文件目录清单)
C:\>dir E:\bin /p  (分页显示 E 盘上 bin 目录下文件目录清单)
C:\WINDOWS\system32>dir p*.vbs  (显示以 p 开头,以 .vbs 为后缀的所有文件目录清单,结果如下)驱动器 C 中的卷是 SYSTEM卷的序列号是 B4E5-F200C:\WINDOWS\system32 的目录2002-10-08  04:00           165,389 pagefileconfig.vbs
2002-10-08  04:00            35,332 prncnfg.vbs
2002-10-08  04:00            25,086 prndrvr.vbs
2002-10-08  04:00            21,250 prnjobs.vbs
2002-10-08  04:00            32,095 prnmngr.vbs
2002-10-08  04:00            28,992 prnport.vbs
2002-10-08  04:00            15,633 prnqctl.vbs
2002-10-08  04:00             3,621 pubprn.vbs8 个文件        327,398 字节0 个目录  1,826,009,088 可用字节

2. copy :复制文件
格式:copy 源文件[+源文件] [目标文件]
实例:

C:\>copy *.* E:\backup    (复制当前目录下所有文件到 E:\backup)
C:\>copy pic\ws?.jpg F:    (复制 pic 目录下以 ws 开头,后任跟一个字符的 jpeg 图片到 F 盘)
C:\>copy a1+a2    (将 a2 的内容添加到 a1 尾,使 a1 的内容更新)

3. del :删除文件
格式:del 一个或多个文件名
实例:

C:\>del *.tmp
C:\>del 1.txt 2.txt

4. ren :重命名文件
格式:ren 原文件名 新文件名

* 小结:

  1. 本章限于篇幅,只介绍了一些基本命令,相信您已经有能力自己阅读帮助文档。正如前面所提到的,Windows 命令的联机帮助是了解某个命令的最佳方法。输入“help”可得到一份常见命令列表。输入“命令名 /?”或“help 命令名”可以找到指定的联机帮助页。联机帮助可能比较简短,详细的说明请查看 Windows 的“帮助和支持中心”。开始 -> 帮助和支持 -> 最上面的“索引” -> “关键字”框中输入“命令行”回车,然后点击右边正文部分的最后一行中的“命令行参考”,进入“命令行参考 A-Z”,该参考手册为每个命令提供了异常详细的说明和范例,是 Windows 命令的最权威、可信的资料。另外,微软的网站(http://www.microsoft.com/zh/cn/)上也有相关的帮助信息。这方面请参考附录3。

  2. 命令的一般格式如下:
命令名 [参数1] [参数2] ... [操作对象1] [操作对象2] ...
使用参数,可开启命令的某些特定功能。参数和操作对象的顺序通常都可任意安排,不过某些情况下也有严格的顺序要求。例如 dir /w E:\bin 和 dir E:\bin /w 的效果是一样的。具体顺序应参考各命令的帮助文档。

  3. 命令参数中的文件名一般形式如下:
[盘符:][路径]文件名[.扩展名]
例如:
C:\PA\MUSI.rar C 盘 PA 子目录中的 rar 文件 MUSI
index.html 当前盘上的 HTML 文件 index

3.3 通配符

  使用命令行界面的一个比较有趣的方面在于,能够使用特定的称为通配符或元字符(metacharacter)的字符来改变和增强命令的行为。这些字符并不是命令的一部分,但它们是命令行解释器的特性,能够让用户创建复杂的操作。

  正如上一节提到过的,Windows 中有两种通配符:问号(?) 匹配文件名中的任何一个字符,星号(*)匹配文件名中的零个或多个字符。可以在一个命令中综合使用这些通配符以定位多个文件,或者在不记得文件的全名时找到该文件。例如,假定当前目录中含有文件:

date help help1 help2 help3 myprog.f myprog.o

  表3-1给出了匹配实例。

表3-1
参数+通配符 所匹配的文件
help? help1 help2 help3
help* help help1 help2 help3
* date help help1 help2 help3 myprog.f myprog.o
*.f myprog.f
d* date

  另外,通配符在 Windows 的“搜索”中也可以使用。

3.4 命令输入技巧

  打错了命令,怎样修改呢?怎样才能更高效地输入命令?这些都是本节将探讨的问题。

  在 DOS 操作系统中,打错命令有两种情况:
1. 打错命令,若未回车可用退格键或左方向键(←)抹去错误后重打,然后回车执行。
2. 打错了命令,已经回车,可用功能键修改。

  常用 DOS 功能键有:

F1 从左至右一个个字符地重复上次键入的命令。
F2 连续重复至某字符位置前所有字符(不含某字符)。
F3 复制上次输入的命令或当前光标后面剩余的全部字符。
F4 与 F2 相反删除到指定字符。
Del 删去一字符。
Ins 插入若干字符。
Esc 作废当前行。
Ctrl+C 强行终止当前命令或程序的执行。

  实际上,我们更多时候会在 Windows 下修改,“命令行解释器”给我们提供了更方便的修改方法。首先,在未回车时输左方向键(←)并不会像 DOS 中那样删除前一个字符,只会移动光标,故只需把光标移到有错误的地方修改即可。并且,Windows 中可使用上方向键(↑)来遍历已经输过的命令。更为重要的是,“命令行解释器”提供了强大的复制/粘贴功能!姑举一例说明:

  假如上一个命令是“dir transitional.txt”,现在要输入“type transitional.txt”,有两种方法:

  1. 先按上方向键(↑)(或<F3>),屏幕显示:dir transitional.txt 。再按<Home>键,将光标移动到行首,按三次<Del>键,再输入 type ,即完成命令。
2. 在窗口中点右键,选择“标记”,再用鼠标拉框选中上一个命令中的“transitional.txt”,按回车,就将文本“transitional.txt”复制到了剪贴板。然后输入“type”,空格,再点右键,选择“粘贴”,即完成命令。

  要提高输入效率还得靠另一个功能键:<Tab> ,它能自动补完文件名。例如,假设当前目录中以字母 t 开头的只有 transitional.txt 和 trap.exe ,但你嫌 transitional.txt 这个名字太长,于是你输入“type”空格后,输入“t”,然后按<Tab> ,命令行解释器会自动补完后面的部分,变成“type transitional.txt”,如果再按<Tab>,就会在 transitional.txt 和 trap.exe 这两个文件名之间切换。

4. 一些较高级的概念

  上一章介绍了 Windows 命令行的基础知识,本章将讨论一些更高级的功能,这些功能足以使 Windows 命令行成为一个非常灵活而且强大的工具。

4.1 输入输出重定向和管道

  每个命令都需要一个输入源和一个输出目的地。默认输入是键盘,默认输出是屏幕,这称为标准输入和标准输出。但在很多情况中,用户也许希望为单独 某次操作修改输入和输出。例如,写一个命令,从一个文件提取数据,进行加工后,输出到另一文件。这称为重定向(redirection)。

  命令行解释器使用字符“<”和“>”来定义临时输入和输出源。假定用户希望使用 dir 命令列出某个目录的内容,并将输出保存到文本文件中而并非打印到屏幕上,那么他可以建立一个 dir.txt ,然后执行:

C:\>dir > dir.txtC:\>

  这里,以上命令不会产生输出,但会修改 dir.txt 的内容。注意字符“>”会完全覆盖 dir.txt 中已有的数据,而且 dir.txt 不存在时还会自动新建文件。如果希望保存先前数据,则可以使用 >> 操作符:

C:\>dir >> dir.txt (将输出追加到 dir.txt 的末尾)C:\>

  字符 < 用于修改输入,所谓输入,是指某些命令从键盘读取的输入。这种命令在 Windows 不太常见,就举 sort 为例。sort 命令要求用户输入一系列单词,每个单词占一行,以 Ctrl+Z 结束输入,然后将这些单词按字母表顺序排序并输出到屏幕上。

E:\>sort
g (这里开始键盘输入)
n
o
m
e
^Z (Ctrl+Z 后回车,以下是输出)
e
g
m
n
o

  如果我们使用输入输出重定向呢?我们先建立一个 names.txt ,内容如下:

Kobato
Tomoyo
Eriol
Fay
Meilin
Rika
Ruby
Kaede
Freya
Misaki
Dorothy
Edward
Lisa

  然后执行:

sort < names.txt > names-alpha.txt

  该命令将输入和输出重定向结合在一起使用:将 names.txt 文件中的条目排序,然后将排序后的输出写入一个名为 names-alpha.txt 的文件中。得到的 names-alpha.txt 如下:

Dorothy
Edward
Eriol
Fay
Freya
Kaede
Kobato
Lisa
Meilin
Misaki
Rika
Ruby
Tomoyo

  管道(pipe)是一个操作符,它把输入和输出重定向结合在一起,从而将一个命令的输出立即作为另一个命令的输入。管道用竖直线字符(|)表示,该字符通常位于 Enter 键附近。

  最经典的使用管道的命令:more 。可以说该命令大部分情况下都和管道一起使用。例如,要查看 sort 命令的帮助信息,输入 sort /? ,但一屏显示不完,使用 sort /? | more 来分屏显示。

C:\>sort /? | more
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes][[drive1:][path1]filename1] [/T [drive2:][path2]][/O [drive3:][path3]filename3]/+n                         指定开始每个比较的字符号码 n。/+3 说明每个比较应从每行的第三个字符开始。少于 n 个字符的行排在其他行之前。按默认值,从每行的第一个字符开始比较。/L[OCALE] locale            用指定的区域设置替代系统默认区域设置。""C"" 区域设置产生最快的排序顺序并且是当前的唯一其他选择。排序总是不分大小写的。/M[EMORY] kilobytes         指定用于排序的主内存量,单位为 KB。最小内存量总是 160 KB。如果指定内存大小,无论主内存的可用量是多少,指定的内存量会全部用于排序。要取得最佳性能,通常不指定内存大小。按默认值,如果达到默认最大内存值,排序会一次完成(非临时文件);否则,排序会分两次完成(没有完全排序的数据存储在临时文件中);用于排序和合并的内存量相等。如果输入和输出都是文件, 默认最大内存量为可用主内存的 90%;否则,为主内存的 45%。/REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量(默认值为 4096,最大值为 65535)。
-- More  --

  此时,屏幕左下角显示:-- More -- ,按任意键则显示下一屏,直到全部显示完。

  另一个经典的使用管道的命令是 find ,用来过滤输出。例如,我要查看当前的环境变量,但我只对 PATH 感兴趣,则输入:

C:\>set | find "Path"
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\bin;D:\soft\GnuP
G\pub

4.2 特殊设备

  在 Windows 中可以使用如下设备名:

表4-1
设备名 表示
AUX 辅助设备
CON 控制台(键盘)
PRN 默认打印机(LPT1)
NUL 空设备
LPT1 - LPT3 并行端口
COM1 - COM4 串行端口

  可将命令的参数指定为这些设备名,就能实现很多奇妙功能。

1. 使用 con

C:\>copy con t.txt (读取键盘输入,并复制到 t.txt)
Hello,world! (此处用键盘输入,以 Ctrl+Z 结束)
^Z
已复制         1 个文件。C:\>

2. 使用 nul “粉碎”文件

  文件被删除之后(指在回收站中被删除),还可以用某些软件恢复。怎样才能将文件彻底删除呢?这里提供一种简单易行的方法。

C:\>dir | find "t.txt"
2008-06-16  20:01                14 t.txt (目前为 14 字节)C:\>copy nul t.txt (将“空”复制到 t.txt ,这样就将 t.txt 的大小改写为了 0 字节)
改写 t.txt 吗? (Yes/No/All): y
已复制         1 个文件。C:\>dir | find "t.txt"
2008-06-16  20:37                 0 t.txt (文件大小已为 0 了)C:\>del t.txt (再删除即可)C:\>

  使用“copy nul 文件名”的办法,将文件大小改为 0 后再删除,这样即使用软件恢复也只能恢复出来一个空文件而已,无法得到原来的那个文件了。

3. 使用 prn 或 lpt 打印文档

  你是否遇到这种情况:甲电脑上的文件,要拿到乙电脑上去打印,无奈乙电脑上没安装相应软件,或无相应字体,无法打印,或效果差。这时可以通过 prn 文件来打印。即在甲电脑的“打印”对话框中选中“打印到文件”,这样会生成一 *.prn 文件,将此文件拷贝到乙电脑中,输入:

copy /b *.prn lpt1 (或将 lpt1 换成你打印机的实际端口,用 mode 命令查看)

  这样打印的效果和甲电脑中一模一样。但需注意,甲电脑中选择的打印机最好和实际打印的打印机型号相同,否则可能无法正确打印。若甲电脑中未安装 打印机,可选择“添加打印机”,手动添加一台打印机,并在“端口”选择“FILE:(打印到文件)”,然后选择和实际打印机相同的驱动程序。
另一种用法是 dir > prn 直接将输出发送到打印机,不过不常用。

4. 使用 mode 命令

  mode 命令可查看当前可用的设备或修改设备参数,一个典型的应用是修改 con 的“代码页”(codepage)参数。详细请参考 mode 命令的帮助页。

4.3 环境变量

  环境变量是一个“变量名=变量值”的对应关系,每一个变量都有一个值与之对应。set 命令用于设置或查看环境变量。我们可以通过两个百分号的形式:“%变量名%”,在命令中引用变量的值。

C:\>set (列出当前所有环境变量及其值)
……省略输出若干……
windir=C:\WINDOWSC:\>cd %windir% (该命令在执行时,“%windir%”会自动被替换成“C:\WINDOWS”)C:\WINDOWS>set str=Hello! (用“set 变量名=变量值”来设置一个变量)C:\WINDOWS>echo %str% (echo 命令可回显一个字符串)
Hello!C:\WINDOWS>

  变量给命令或批处理文件带来了极大的灵活性,多用于批处理文件中。

Windows 命令行基础相关推荐

  1. Windows命令行基础

    1. 引言:为什么要使用命令行 在 DOS 时代,人们只能依靠输入命令同计算机互交.而现在,微软的 Windows 操作系统已得到了广泛使用,我们处理日常事务也大多使用基于图形用户界面(GUI,Gra ...

  2. Windows 命令行基础(博主推荐)

    不多说,直接上干货! 见 https://blog.henix.info/blog/windows-cmdbasic/ 转载于:https://www.cnblogs.com/zlslch/p/753 ...

  3. Windows命令行的基础操作

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Windows命令行简介​   现在大部分同学都是通过Windows操作系统来使用计算机.通常是使用鼠标.键盘来启动程序.关闭程序.录 ...

  4. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  5. 探索Windows命令行系列(7):通过命令编译C#类和Java类

    1.编译 C# 类 1.1.C# 编译工具 1.2.编译一个 C# 类 1.3.编译多个 C# 类 2.编译 Java 类 2.1.Java 编译工具 2.2.编译 Java 类 3.组合命令符 4. ...

  6. nessus 命令行新建用户_【笔记3】命令行基础

    命令行基础&为什么要学? 1. 命令行是啥: - 用户通过键盘输入字符指令.计算机输出字符结果的一种人机交互的方式 - 只能输入命令,没有对话框,没有按钮,全部都是文字 - 世界上第一个程序员 ...

  7. 命令行 移动整个文件夹 -baijiahao_Windows高手的高效办公利器——Windows命令行简介...

    Windows命令行是什么呢?为了好理解,咱们直接举例说明.例如咱们要在D盘下创建一个名为"666"的文件夹,那常规的操作是进入D盘,然后在任意空白处点击右键,在弹出菜单中选择&q ...

  8. Linux_命令行基础及挂载和目录文件管理

    Linux命令行基础 Linux命令:用来实现某一类功能的指令或程序 . 在Linux中执行大多数命令时,都要找到命令所对应的程序 ]# hostname ]# which hostname #查询命 ...

  9. Windows命令行简易入门

    文章目录 Windows命令行简介​ 启动命令行 基本命令 dir:查看当前目录下的内容 md与cd命令:创建目录与改变当前目录 copy命令与type命令:拷贝文件与显示文本文件内容 del命令:删 ...

  10. window命令行 linux,Windows命令行:起源 直到引入Windows下的linux子系统(WSL)

    本文从Windows命令行的起源及终端的演变,到我们在未来Windows发行版中对Windows控制台及命令行进行全面更新,引入Windows下的linux子系统(WSL).在本文中,我们将对命令行最 ...

最新文章

  1. iOS 高效开发-----实现description 方法 (续)
  2. hdu 1496 Equations(技巧hash)
  3. (21)页目录表,页表基址(XP系统 10-10-12分页模式)
  4. VTK修炼之道45:图形进阶_vtkPolyData属性数据
  5. FLASH STUDY LOG
  6. python 分布图_python数据分布型图表柱形分布图系列带误差线的柱形图
  7. python小型登录系统_python实现用户登录系统
  8. 硬编码是什么意思_饰品上那些编码和数字你都知道是什么意思吗?
  9. JavaWeb — 获取复选框的值时,要注意不是得到显示的值,而是得到value值
  10. 微信小程序官方demo下载地址
  11. android实现手机号验证码注册
  12. 数字转换成中文大写的经典方案
  13. 计算机相关美文摘抄,写景美文摘抄
  14. java把一个对象赋值给另一个对象
  15. 程序员520❤七夕情人节表白代码Html+Js+Css花瓣相册网页模板❤程序员表白必备
  16. Torch 入门教程
  17. 两个向量之间的夹角公式_Python 计算任意两向量之间的夹角方法
  18. EGE绘图之三 动画
  19. signature=1e5c9cadfac910b9cd55ef06301b71df,Vision-based process control in layered manufacturing
  20. beckhoff词汇,百晓生知识处理库抽取

热门文章

  1. 苹果电脑安装双系统Mac和Win7,详细教程
  2. Gitter+Sidecar制作聊天室
  3. gitter 卸载_最佳的Gitter渠道:数据科学和机器学习
  4. NB-IoT关键信令流程 Attach
  5. 这片“农场”被他们承包了|第一届中国农业人工智能创新创业大赛初赛回顾
  6. html中style写啥,style标签的作用
  7. 扁豆凝集素LCA/LcH填料/小扁豆凝集素-琼脂糖凝胶/双花扁豆凝集素DBA/黑皮扁豆凝集素
  8. java读取并导出多类型数据csv文件
  9. 保温杯哪种材质最好_玻璃杯材质分为哪几种 玻璃杯什么材质最好
  10. 安卓如何调出软键盘_Android软键盘显示模式及打开和关闭方式(推荐)