职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 674|回复: 29

DOS命令教程

  [复制链接]
钰云 发表于 2011-9-19 12:33 | 显示全部楼层 |阅读模式
DOS的历史
DOS的英文全称为Disk Operating System即“磁盘操作系统”,DOS家族包括MS-DOS、PC-DOS、DR-DOS、FreeDOS、PTS-DOS、ROM-DOS、JM-OS等,其中以MS-DOS最为著名。虽然这些系统常被简称为"DOS",但没有任何一个系统单纯以"DOS"命名(只有一个毫无关连的1960年代IBM 大型主机操作系统 以此命名)。此外,有几个和DOS无关、在非x86的微电脑系统上运行的磁碟操作系统在名称中也有 "DOS" 字眼,而且在专门讨论该机器的场合中也会简称为"DOS"(例如:AmigaDOS、AMSDOS、ANDOS、Apple DOS、Atari DOS、Commodore DOS、CSI-DOS、ProDOS、 TRS-DOS 等),但这些系统和DOS可执行文件以及MS-DOS API并不兼容。
最早在1979年年底, Seattle Computer公司开发了第一款基于8086芯片的操作系统CP/M-86,经过改进后推出了QDOS,并在80年年底推出了86-DOS 0.3版,比尔 盖茨以极低的价格买下了86-Dos的销售经营权。1981年4月,Seattle Computer正式发布了86-DOS v1.0版,微软在当年7月将86-Dos的版权和其他所有权力买断,并将其改名为MS-Dos向市场发布。这是微软赖以发迹的第一个成功的操作系统产品。 MS-DOS是Microsoft Disk Operating System的简称,意即由美国微软公司(Microsoft)提供的磁盘操作系统 。在Windows 98以前,DOS是个人PC兼容电脑的最基本配备,而MS-DOS则是最普遍使用的PC兼容DOS。 最基本的MS-DOS系统由一个基于MBR的BOOT引导程序和三个文件模块组成。这三个模块是输入输出模块(IO.SYS)、文件管理模块(MSDOS.SYS)及命令解释模块。除此之外,微软还在零售的MS-DOS系统包中加入了若干标准的外部程序(即外部命令),这才与内部命令(即由解释执行的命令)一同构建起一个在磁盘操作时代相对完备的人机交互环境。 最初,包括Win95在内的早期WINDOWS系统都只是DOS下的一个图形化Shell应用程序。从WINDOS98开始才真正脱离了DOS系统。



江南枫 发表于 2011-9-19 12:34 | 显示全部楼层
好了,现在言归正传,由于现在广泛使用的xp、vista、windows7并没有纯DOS环境,事实上现在我们在系统中使用的命令行,只能算一个模拟器。
那么如何打开命令行?可以在开始菜单搜索框中输入cmd,或者在运行中输入,效果一样。

e64ca9eb330a6fbc9023d95f.jpg



木已 发表于 2011-9-19 12:34 | 显示全部楼层

基本命令
以上部分介绍DOS的历史,以及如何打开命令行。下面来介绍一些基本命令


 楼主| 钰云 发表于 2011-9-19 12:34 | 显示全部楼层

最基本的CD命令
格式:cd[盘符:][路径名][子目录名]
实例:cd c:/ 进入c盘根目录
使用说明: (1)如果省略路径和子目录名则显示当前目录; (2)如采用“cd\”格式,则退回到根目录; (3)如采用“cd..”格式则退回到上一级目录。




feiguo 发表于 2011-9-19 12:34 | 显示全部楼层

rd命令
作用:删除子目录
格式:rd[盘符:][路径名][子目录名]
附加参数:/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认。
如:删除D盘上名为myfile(此文件夹是空的)的文件夹,可以输入rd d:\myfile。
如果myfile非空,可输入rd/S d:\myfile删除myfile文件夹及其所有子文件夹及文件。



gz-vps 发表于 2011-9-19 12:34 | 显示全部楼层

Dir命令
显示目录文件和子目录列表。如果在不带参数的情况下使用,则 dir 显示磁盘的卷标和序列号,后接磁盘上目录和文件的列表,包括它们的名称和最近修改的日期及时间。dir 可以显示文件的扩展名以及文件的大小(以字节为单位)。Dir 也显示列出的文件及目录的总数、累计大小和磁盘上剩余的可用空间(以字节为单位)。





jinchang 发表于 2011-9-19 12:34 | 显示全部楼层

语法


dir [Drive:][Path][FileName] [...]

[/q] [/w] [/d] [/a[[:]Attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/l] [/n] [/x] [/c] [/4]




gz-vps 发表于 2011-9-19 12:34 | 显示全部楼层

参数
[Drive:][Path]
指定要以列表方式查看的驱动器和目录。
[FileName]
指定要以列表方式查看的特定文件或一组文件。
/p
每次以一个屏幕大小显示列表的一部分。要查看下一屏,请按键盘上的任意键。
/q
显示文件所有权信息。
/w
以宽格式显示列表,在每一行上显示多达 5 个文件名或目录名。
/d
与 /w 相同,但是文件按列排序。
/a [[:] Attributes]
只显示那些指定属性的目录名和文件名。如果省略 /a,dir 将显示除隐藏文件和系统文件之外的所有文件名。如果在没有指定 Attributes 的情况下使用 /a,dir 将显示所有文件(包括隐藏文件和系统文件)的名称。以下列表描述了每个可用于 Attributes 的值。冒号 (:) 是可选的。使用这些值的组合,并且不得用空格分隔这些值。



紫衿 发表于 2011-9-19 12:35 | 显示全部楼层

Convert
此命令用于转换磁盘格式,将FAT32转化为ntfs
示例
要将驱动器 E 上的卷转换为 NTFS 并且显示所有消息,请键入:
convert e:/fs:ntfs /v



曾经的小孩 发表于 2011-9-19 12:35 | 显示全部楼层

ren 或 rename

重命名文件或者一个子目录

语法

RENAME [drive:][path]filename1 filename2 REN [drive:][path]filename1 filename2
实例:例如将ret重命名为eras
Ren ret reas
如果想改变当前文件夹下所有文件的后缀例如将.txt改为.doc可以这样
ren *.txt *.doc



会玩就好 发表于 2011-9-19 12:35 | 显示全部楼层

tasklist——显示进程
功能:将整个计算机的进程显示出来,同任务管理器。
格式:tasklist




fossil 发表于 2011-9-19 12:35 | 显示全部楼层

下面介绍一些文件操作
Copy命令,这个命令作用是复制文件
语法
copy [/d] [/v] [/n] [{/y | /-y}] [/z] [{/a | /b}] Source [{/a | /b}] [+Source [{/a | /b}] [+ ...]][Destination [{/a | /b}]]
参数
/d
允许将复制的加密文件在目标处作为解密文件保存。
/v
验证是否正确写入新文件。
/n
在复制文件超过八个字符,或者文件扩展名超过三个字符的文件时使用短文件名(如果有的话)。
/y
禁止提示您确认要覆盖现存的目标文件。
/-y
提示您确认要覆盖现存的目标文件。
/z
在重启模式中复制网络文件。
/a
表明 ASCII 文本文件。
/b
表明二进制文件。
Source
必需。指定要复制的文件或文件集的所在位置。source 可以由驱动器号和冒号、文件夹名、文件名或这几者的组合所组成。
Destination
必需。指定要将文件或文件集复制到的位置。Destination 可以由驱动器号和冒号、文件夹名、文件名及这几者的组合所组成。
/?
在命令提示符下显示帮助。



broken 发表于 2011-9-19 12:35 | 显示全部楼层

备注
? 可以复制使用文件尾字符 (Ctrl+Z) 的 ASCII 文本文件以表明文件结束。
? 使用 /a

当在命令行的文件列表之前有 /a 时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

当 /a 在命令行上紧跟在文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /b。在这种情况下,/b 应用于文件前面的 /b。

/a 参数的作用取决于它在命令行字符串中的位置。当 /a 跟在 Source 之后时,copy 会将文件当作 ASCII 文件,并复制第一个文件尾字符 (Ctrl+Z) 前的数据。

当 /a 跟在 Destination 之后时,copy 会添加文件尾字符 (Ctrl+Z) 作为文件的最后一个字符。
? 使用 /b

/b 指定命令解释程序读取目录中由文件大小指定的字节数。/b 是 copy 的默认值,除非 copy 用于合并文件。

当 /b 在命令行上位于文件列表之前时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

当 /b 在命令行上位于文件列表之后时,它适用于所有已列出的文件,直到 copy 遇到 /a。在这种情况下,/a 应用于文件前面的 /a。

/b 的效果取决于其在命令行字符串中的位置。当 /b 跟在 Source 之后时,copy 复制整个文件,包含任何文件尾字符 (Ctrl+Z)。

当 /b 跟在 Destination 之后时,copy 不会添加文件尾字符 (Ctrl+Z)。
? 使用 /v

如果写入操作不能校验,则会出现错误消息。尽管使用 copy 很少发生记录错误,但是仍可以使用 /v 来确保重要的数据已正确记录。因为要检查驱动器上记录的每一个扇区,所以该 /v 命令行选项也会使 copy 命令的运行速度减慢。
? 使用 /y 和 /-y

如果在 COPYCMD 环境变量中预先设置了 /y,可以通过在命令行使用 /-y 来替换该设置。默认情况下,在替换该设置时会提示您,除非该 copy 命令在批处理脚本中执行。
? 附加文件

要附加文件,请为 Destination 指定单个文件,但要为 Source 指定多个文件(使用通配符或 File1+File2+File3 格式)。
? 使用 /z

如果在复制阶段连接丢失(例如,如果服务器脱机断开连接),copy /z 将在重新建立连接后继续复制。/z 同时会显示每个文件已完成的复制操作的百分比。
? 复制到设备以及从设备复制

可以用设备名替换一次或多次出现的 source 或 destination。
? 在复制到设备时使用或省略 /b

当 destination 是设备时(例如,Com1 或 Lpt1),/b 将以二进制模式将数据复制到该设备。在二进制模式下,copy /b 会将所有字符(包括特殊字符,例如, Ctrl+C、Ctrl+S、Ctrl+Z 和回车)作为数据复制到设备。但是,如果省略了 /b,则将以 ASCII 模式将数据复制到设备。在 ASCII 模式下,特殊字符可能导致 Windows XP 在复制过程中合并文件。详细信息,请参阅本主题稍后的“合并文件”。
? 使用默认目标文件

如果不指定目标文件,将使用与源文件相同的名称、修改日期、修改时间来创建副本,并将新副本置于当前驱动器的当前目录中。如果源文件位于当前驱动器的当前目录中,而您没有为目标文件指定其他驱动器或目录,则 copy 命令将终止并显示下列错误消息:

File cannot be copied onto itself

0 File(s) copied
? 合并文件

如果指定了使用加号 (+) 分隔的多个 source,copy 会将这些文件合并在单个文件之中。如果在 source 中使用了通配符(* 或 ?),但在 destination 中指定了单个文件名,则 copy 会将所有与 source 中的文件名匹配的文件合并,并使用在 destination 中指定的文件名来创建单个文件。除非使用了 /b 命令行选项,否则在任一种情形中,copy 都会假定合并的文件是 ASCII 文件。
? 复制零长度文件

Copy 不会复制 0 字节长度的文件。 使用 xcopy 复制这些文件。
? 更改文件的时间和日期

如果要将当前的时间和日期指派给文件而不修改文件,请使用以下语法:

copy /bSource+,,

逗号表明省略了 Destination 参数。
? 复制子目录中的文件

要复制目录中所有的文件和子目录,应该使用 xcopy 命令。有关 xcopy 的详细信息,请参阅“相关主题”。
? 故障恢复控制台提供了带有不同参数的 copy 命令



话说我当年 发表于 2011-9-19 12:35 | 显示全部楼层

范例
要将文件 Memo.doc 复制到当前驱动器中的 Letter.doc,并确保文件尾字符 (Ctrl+Z) 在所复制文件的末尾,请键入:
copy memo.doc letter.doc /a
要将文件 Robin.typ 从当前驱动器的当前目录复制到位于驱动器 C 上的现有目录 Birds 中,请键入:
copy robin.typ c:\birds
如果 Birds 目录不存在,Robin.typ 文件将被复制到驱动器 C 的磁盘根目录下名为 Birds 的文件中。
要将几个文件复制进一个文件,则需列出几个 Source 文件,并且文件名之间用加号 (+) 隔开,同时指定要包含合并结果文件的 Destination 文件。例如,要将位于当前驱动器的当前目录中的 Mar89.rpt、Apr89.rpt 以及 May89.rpt 合并,并将它们放在当前驱动器的当前目录下名为 Report 的文件中,请键入:
copy mar89.rpt + apr89.rpt + may89.rpt report
合并文件时,copy 会使用当前日期和时间来标记目标文件。如果省略 Destination,则文件被合并并且会使用首个指定的文件的名称存储。例如,要将所有的四个文件合并进 Report,而且已有名为 Report 的文件,请键入:
copy report + mar89.rpt + apr89.rpt + may89.rpt
还可通过使用通配符(* 或 ?)来将几个文件合并进一个文件。例如,在当前驱动器的当前目录中,要将所有具有 .txt 扩展名的文件合并进名为 Combin.doc 的文件中,请键入:
copy *.txt combin.doc
如果要使用通配符将几个二进制文件合并进一个文件,请添加 /b 命令行选项。这可防止 Windows XP 将 Ctrl+Z 当作文件尾字符处理。例如,请键入:
copy /b *.exe combin.exe



醉倚西风 发表于 2011-9-19 12:36 | 显示全部楼层

警告
? 如果合并二进制文件,结果文件可能因为内部格式而无法使用。
在下例中,copy 命令将每个带有 .txt 扩展名的文件和它对应的 .ref 文件合并起来。结果是文件名相同但扩展名为 .doc 的文件。Copy 将 File1.txt 与 File1.ref 合并以形成 File1.doc。然后 copy 将 File2.txt 与 File2.ref 合并以形成 File2.doc,等等。例如,请键入:
copy *.txt + *.ref *.doc
要合并所有具有 .txt 扩展名的文件,然后合并所有具有 .ref 扩展名的文件,并将合并结果置于 Combin.doc 文件中,请键入:
copy *.txt + *.ref combin.doc



yoyo 发表于 2011-9-19 12:36 | 显示全部楼层

下面介绍attrib命令,此命令的作用是修改文件属性
命令语法:attrib [{+r | -r}] [{+a | -a}] [{+s | -s}] [{+h | -h}] [[Drive:][Path] FileName] [/s[/d]]
参数;+r 设置只读文件属性
-r
清除只读文件属性。
+a
设置存档属性。
-a
清除存档属性。
+s
设置系统文件属性。
-s
清除系统文件属性。
+h
设置隐藏文件属性。
-h
清除隐藏文件属性。
[Drive:][Path] FileName
指定要显示或更改其属性的目录、文件或文件组的位置和名称。可以在 filename 参数中使用通配符(? 和 *)来显示或更改一组文件的属性。
/s
将 attrib 和任意命令行选项应用到当前目录及其所有子目录中的匹配文件。
/d
将 attrib 和任意命令行选项应用到目录。
/?
在命令提示符下显示帮助



曾经的小孩 发表于 2011-9-19 12:36 | 显示全部楼层

示例


要显示当前驱动器上名为 News86 的文件的属性,请键入:

attrib news86

要将只读属性指派给名为 Report.txt 的文件,请键入:

attrib +r report.txt

对插在 B 驱动器中的磁盘,要将其 \Public\Jones 目录和 \Public\Jones 目录的任何子目录中的文件的只读属性删除,请键入:

attrib -r b:\public\jones\*.* /s
一个例子:C:\>attrib +h *.* /s? 隐藏所有文件



broken 发表于 2011-9-19 12:36 | 显示全部楼层

cls清屏命令


无处不在 发表于 2011-9-19 12:36 | 显示全部楼层

下面介绍一个实用的命令:Defrag,这个命令的作用是整理磁盘碎片
语法
defragVolume
defragVolume [/a]
defragVolume [/a] [/v]
defragVolume [/v]
defragVolume [/f]
参数
Volume
将被整理碎片的卷的驱动器号或装入点。
/a
分析卷、显示分析报告总结以及指示您是否应该对该卷进行磁盘碎片整理。
/v
显示完整的分析和碎片整理报告。与 /a 组合使用时,只显示分析报告。单独使用时,则显示分析报告和碎片整理报告。
/f
当可用空间低时,强制对卷进行碎片整理。
/?
在命令提示符下显示帮助。
注意:使用此命令整理磁盘时,磁盘分区必须有15%的空闲空间



会玩就好 发表于 2011-9-19 12:36 | 显示全部楼层

下面介绍一个更改文件关联的命令Assoc
Assoc
显示或修改文件扩展名关联。如果在没有参数的情况下使用,则 assoc 将显示所有当前文件扩展名关联的列表。
语法
assoc [.ext[=[FileType]]]
参数
.ext
指定文件扩展名。
FileType
指定要与指定的文件扩展名相关联的文件类型。
/?
在命令提示符下显示帮助。



爱车车 发表于 2011-9-19 12:37 | 显示全部楼层

注释
? 要为一个文件扩展名删除文件类型关联,请通过按空格键在等号之后创建一个空白区域。
? 要查看已定义了打开命令字符串的当前文件类型,请使用 ftype 命令。
? 要将 assoc 的输出重定向到文本文件,请使用 > 重定向操作符。
示例
要查看文件扩展名为 .txt 的当前文件类型关联,请键入:
assoc .txt
要删除文件扩展名为 .txt 的文件类型关联,请键入:
assoc .txt=
要一次查看当前文件类型关联的一个画面,请键入:
assoc| more
要将 assoc 输出发送到 Assoc.cfg 文件,请键入:
assoc>assoc.cfg



只学java 发表于 2011-9-19 12:37 | 显示全部楼层

下面是Format命令,该命令用于格式化磁盘分区
其主要格式为: FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X] FORMAT volume [/V:label] [/Q] [/F:size] FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] FORMAT volume [/V:label] [/Q] FORMAT volume [/Q]
Format命令通常的格式是:Format X:



江南枫 发表于 2011-9-19 12:37 | 显示全部楼层

Net stop命令用于停止服务
格式Net stop 服务名,例如 net stop server 与之相对还有NET START
另外还有net user命令,使用net use /add来添加账户



江南枫 发表于 2011-9-19 12:37 | 显示全部楼层

好了,接下来是有关批处理的知识,首先是简单的批处理命令。
.Echo 命令

打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法

echo [{on off}] [message]

Sample:@echo off / echo hello world






只学java 发表于 2011-9-19 12:38 | 显示全部楼层

2@命令, 表示不显示@后面的命令。下面附上一段恶作剧代码

Sample:@echo off

@echo Now initializing the program,please wait a minite...

@format X: /q/u/autoset format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。




叫我小乖 发表于 2011-9-19 12:38 | 显示全部楼层

Rem 命令

注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。

Rem Message

Sample:@Rem Here is the description.



爱车车 发表于 2011-9-19 12:38 | 显示全部楼层

Pause 命令

运行 Pause 命令时,将显示下面的消息:

Press any key to continue



木已 发表于 2011-9-19 12:38 | 显示全部楼层

接下来是call命令,它的作用时调用令一个批处理文件
语法:
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
这里需要指定批处理文件的位置和文件名。




能文能武 发表于 2011-9-19 12:38 | 显示全部楼层

下面来写一下,如何用批处理操作注册表
关于注册表的操作,常见的是创建、修改、删除。
1
创建
我们创建一个文件,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ha]

然后执行该脚本,你就已经在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft下创建了一个名字为“ha”的子项。

另一种是创建一个项目名称

那这种文件格式就是典型的文件格式,和你从注册表中导出的文件格式一致,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]"Invader"="Ex4rch"

"Door"=C:\\WINNT\\system32\\door.exe

"Autodos"=dword:02

这样就在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下

新建了:Invader、door、about这三个项目

Invader的类型是“String Value”

door的类型是“REG SZ Value”

Autodos的类型是“DWORD Value”



走失的猫咪 发表于 2011-9-19 12:38 | 显示全部楼层

接下来是删除
.删除

我们首先来说说删除一个项目名称,我们创建一个如下的文件:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

"Ex4rch"=-

执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下的"Ex4rch"就被删除了;

我们再看看删除一个子项,我们创建一个如下的脚本:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

执行该脚本,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]就已经被删除了。


您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-1 02:33 , Processed in 0.182626 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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