[ DOS 命令基础 3 ] DOS 命令详解-文件操作相关命令

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~

✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】

🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋

🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋

🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
我们搞网络安全需要经常用到 dos 命令,比用拿到 windows 的 shell,需要使用 dos 命令。再比如 bat 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 dos 命令。本文讲解与文件及文件夹操作的命令。

文章目录

  • [🍬 博主介绍](#🍬 博主介绍)
    • [3.1 文件复制](#3.1 文件复制)
      • [3.1.1 copy](#3.1.1 copy)
      • [3.1.2 xcopy](#3.1.2 xcopy)
    • [3.2 文件删除](#3.2 文件删除)
      • [3.2.1 del](#3.2.1 del)
      • [3.2.2 rd](#3.2.2 rd)
      • [3.2.3 deltree](#3.2.3 deltree)
    • [3.3 文件重命名](#3.3 文件重命名)
      • [3.3.1 ren](#3.3.1 ren)
      • [3.3.2 move](#3.3.2 move)
    • [3.4 文件显示](#3.4 文件显示)
      • [3.4.1 dir](#3.4.1 dir)
      • [3.4.2 type](#3.4.2 type)
    • [3.5 文件属性修改](#3.5 文件属性修改)
      • [3.5.1 attrib](#3.5.1 attrib)
    • [3.6 文件比较](#3.6 文件比较)
      • [3.6.1 FC](#3.6.1 FC)
      • [3.6.2 COMP](#3.6.2 COMP)
    • [3.7 文件查找](#3.7 文件查找)
      • [3.7.1 FINDSTR](#3.7.1 FINDSTR)
    • [3.8 文件合并](#3.8 文件合并)
      • [3.8.1 copy](#3.8.1 copy)
    • [3.9 文件分割](#3.9 文件分割)
      • [3.9.1 SPLIT](#3.9.1 SPLIT)
    • [3.10 文件压缩和解压缩](#3.10 文件压缩和解压缩)
      • [3.10.1 ZIP命令](#3.10.1 ZIP命令)
    • [3.11 文件新建](#3.11 文件新建)
      • [3.11.1 md](#3.11.1 md)
    • [3.12 磁盘操作](#3.12 磁盘操作)
      • [3.12.1 format](#3.12.1 format)
      • [3.12.2 unformat](#3.12.2 unformat)
    • [3.13 文件恢复](#3.13 文件恢复)
      • [3.13.1 undelete](#3.13.1 undelete)
    • [3.14 其他](#3.14 其他)
      • [3.14.1 notepad](#3.14.1 notepad)
  • 相关资源

3.1 文件复制

3.1.1 copy

功能:

用于在 Windows 和 DOS 系统中复制文件的命令行工具

用法:

dos 复制代码
copy [options] file1.txt file2.txt

常用参数:

/A:指定复制 ASCII 文本文件。默认情况下,copy 处理二进制文件。

/B:指定复制二进制文件。可以防止数据在复制过程中被更改。

/V: 验证新文件是否与源文件相同。

/Y: 在复制时不提示确认覆盖现有文件。可以用于脚本中。

/-Y:在复制时提示确认覆盖现有文件。

示例:

1.验证复制

dos 复制代码
copy /V file1.txt file2.txt

2.复制ASCII文件

dos 复制代码
copy /A file1.txt file2.txt

3.复制多个文件

dos 复制代码
copy C:\source\*.txt C:\destination\

3.1.2 xcopy

功能:

一个强大的文件复制工具,用于在 Windows 系统中复制文件和目录。与 copy 命令相比,xcopy 支持更复杂的复制选项,可以处理子目录和各种文件属性。

用法:

dos 复制代码
xcopy source [destination] [options]

常用参数:

/s:复制目录及其子目录,但不包括空目录。

/e:复制所有子目录,包括空目录。常与 /s 一起使用。

/h:复制隐藏文件和系统文件。

/i:如果目标不存在,假定目标是一个目录。

/c:在发生错误时继续复制。

/k:复制文件的属性(如只读、系统等)。

/y:不提示确认,覆盖现有文件。

/d:仅复制源文件比目标文件新的文件。

示例:

1.复制目录及其所有内容

dos 复制代码
xcopy C:\data D:\backup /s

2.复制空目录

dos 复制代码
xcopy C:\data D:\backup /e

3.保留文件属性

dos 复制代码
xcopy C:\files\* D:\files\ /k

4.发生错误后继续

dos 复制代码
xcopy C:\source D:\destination /c

3.2 文件删除

3.2.1 del

功能:

用于在 Windows 命令行中删除一个或多个文件。它是文件管理的基本命令之一,可以通过命令提示符或批处理文件使用。

用法:

dos 复制代码
del [options] filename

常用参数:

/P:在删除每个文件之前提示确认,确保用户不小心删除重要文件。

/F:强制删除只读文件,允许删除标记为只读的文件。

/S:删除指定目录及其所有子目录中的匹配文件。

/Q:安静模式,不显示删除的文件名。

*? 通配符:* 匹配零个或多个字符,? 匹配单个字符。例如,del *.txt 删除当前目录下所有的 .txt 文件。

示例:

1.删除文件

dos 复制代码
del example.txt

2.删除文件

dos 复制代码
del file1.txt file2.txt

3.使用通配符

dos 复制代码
del *.log

4.删除指定目录及子目录中的文件

dos 复制代码
del /S *.bak

3.2.2 rd

功能:

用于删除目录

用法:

dos 复制代码
rd [options] directory_name

常用参数:

/s:删除指定目录及其所有子目录和文件。使用此选项时,目录不能是空的。

/q:安静模式,不显示确认消息。适用于脚本或批处理文件中使用。

示例:

1.删除aaa目录及其所有子目录和文件

dos 复制代码
rd /s aaa

3.2.3 deltree

功能:

用于删除目录及其内容的 DOS 命令。它可以递归地删除指定目录及其所有子目录和文件,非常强大,但也需要小心使用,因为一旦删除,将无法恢复。

用法:

dos 复制代码
deltree [options] directory

常用参数:

/y:在删除过程中不提示用户确认。直接删除指定的目录及其内容。

示例:

1.删除目录机器所有内容

dos 复制代码
deltree C:\example\folder

2.强制删除

dos 复制代码
deltree /y C:\example\folder

3.3 文件重命名

3.3.1 ren

功能:

用于在命令行中重命名文件或目录。它是一个简单而实用的命令,适用于 Windows 和 DOS 环境。

用法:

dos 复制代码
ren [old_name] [new_name]

常用参数:

old_name:原来的名称

new_name:修改后的名称

示例:

1.重命名文件

dos 复制代码
ren example.txt sample.txt

2.批量重命名

dos 复制代码
ren *.txt *.bak

3.3.2 move

功能:

用于在文件系统中移动文件或目录,或重命名文件和目录

用法:

dos 复制代码
move [options] source destination

常用参数:

/y:在覆盖现有文件时,不提示用户进行确认。

/n: 在移动文件时,不覆盖现有文件,并在源文件与目标文件同名的情况下显示错误消息。

示例:

将aaa目录移动到bbb目录

dos 复制代码
move /y aaa bbb

3.4 文件显示

3.4.1 dir

功能:

用于列出当前目录中的文件和子目录

用法:

dos 复制代码
dir [options] [path]

常用参数:

/p:分页显示每一页的文件和目录,适用于文件数量较多时,按任意键继续查看下一页。

/w:以宽格式显示,文件和目录按列排列,适合快速浏览。

/s:递归列出指定目录及其所有子目录中的文件,显示完整的文件路径。

/b:以裸格式显示文件名,不显示其他信息,如大小和日期。

/a:显示特定属性的文件,例如:

r:只读文件

h:隐藏文件

s:系统文件

可以组合使用,如 /a:h 仅显示隐藏文件。

/o:指定输出的排序方式。例如:

/o:n:按名称排序

/o:s:按大小排序

/o:d:按日期排序。

/t:指定显示文件的时间戳类型。例如:

/t:c:显示创建时间

/t:a:显示上次访问时间

/t:w:显示上次写入时间。

3.4.2 type

功能:

用于在命令行中显示文本文件的内容。它可以逐行输出文件的内容,适合查看小型文件的内容或快速查看文件的内容,而无需打开文本编辑器。

用法:

dos 复制代码
type [filename]

常用参数:

filename:要查看内容的文件名,可以是相对路径或绝对路径

示例:

1.查看单个文件内容

dos 复制代码
type example.txt

2.查看多个文件的内容

dos 复制代码
type file1.txt file2.txt

3.5 文件属性修改

3.5.1 attrib

功能:

用于显示或更改文件和目录的属性。在 Windows 和 DOS 系统中,这个命令非常有用,特别是在管理文件权限和属性时。

用法:

dos 复制代码
attrib [options] [file_name]

常用参数:

+-:用于添加或移除属性。

属性标志:

R:只读(Read-only)属性。

A:归档(Archive)属性。

S:系统(System)属性。

H:隐藏(Hidden)属性。

示例:

1.查看文件或目录属性

dos 复制代码
attrib example.txt

2.添加只读属性

dos 复制代码
attrib +R example.txt

3.移除只读属性

dos 复制代码
attrib -R example.txt

4.通配符

dos 复制代码
attrib *.txt

3.6 文件比较

3.6.1 FC

功能:

FC命令是一个用于比较两个文件或两个文件集的差异的命令。它主要用于文本文件的比较,但也可以用于二进制文件。FC命令可以显示两个文件之间的差异,并将这些差异输出到标准输出设备(通常是控制台)或重定向到文件中。

用法:

dos 复制代码
fc [options] file1 file2 [options]

参数说明:

file1: 第一个要比较的文件。

file2: 第二个要比较的文件。

/b: 将文件视为二进制文件进行比较。

/c: 忽略大小写差异。

/n: 只显示有差异的行。

/p: 分页显示结果。

/r: 生成报告文件。

/u: 以统一格式显示结果(包括文件名、行号、字节偏移量)。

/w: 压缩空白区域(仅对ASCII文本文件有效)。

/nnnn: 指定每页显示的行数(仅与/p一起使用)。

/a: 将所有不同的行视为不同(默认情况下,只有第一个不同的行被视为不同)。

/l: 按ASCII值显示字符的十进制、十六进制和八进制值。

/t: 不要扩展文件名中的通配符。

/v: 验证每个文件是否相同。

/hh: 显示帮助信息。

/q: 不显示任何信息。

/s: 比较所有匹配的文件。

示例:

1.比较两个文件并显示差异:

dos 复制代码
fc file1.txt file2.txt

2.比较两个文件,忽略大小写差异:

dos 复制代码
fc /c file1.txt file2.txt

3.比较两个文件,只显示有差异的行

dos 复制代码
fc /n file1.txt file2.txt

4.比较两个文件,分页显示结果

dos 复制代码
fc /p file1.txt file2.txt

5.比较两个文件,生成报告文件:

dos 复制代码
fc /r file1.txt file2.txt report.txt

6.比较两个文件,以统一格式显示结果

dos 复制代码
fc /u file1.txt file2.txt

7.比较两个文件,压缩空白区域:

dos 复制代码
fc /w file1.txt file2.txt

8.比较两个文件,按ASCII值显示字符的十进制、十六进制和八进制值

dos 复制代码
fc /l file1.txt file2.txt

9.比较当前目录下的所有文件

dos 复制代码
fc *.txt

注意事项:

FC命令适用于文本文件和二进制文件,但对于二进制文件,建议使用专用的二进制比较工具。

当比较大型文件时,可能需要较长时间,并且输出可能非常长。可以使用/n参数限制输出。

在使用通配符时,请确保路径和文件名正确无误,以避免意外比较。

3.6.2 COMP

功能:

COMP命令是DOS操作系统中用于比较两个文件或目录内容差异的命令。它主要用于检查文件的完整性,确保复制、传输或修改后的文件与原文件保持一致。

用法:

dos 复制代码
comp [options] file1 file2

参数说明:

/D用于显示不同之处

/A仅比较ASCII字符

/B以二进制模式比较文件

/C忽略大小写

/N禁止扩展匹配,

/OFF[LINE]在脱机状态下运行比较

示例:

1.比较两个文件的不同之处

dos 复制代码
comp /D aaa.txt bbb.txt

注意事项:

当比较两个文件时,如果文件名相同,COMP将自动假设它们是相同的,并返回0退出码。

如果只指定了一个文件名,COMP将提示用户输入第二个文件名。

如果要比较的文件位于不同的驱动器上,可能需要先使用CD命令切换到相应的目录。

3.7 文件查找

3.7.1 FINDSTR

功能:

FINDSTR 是 Windows 操作系统中的命令行工具,用于在文件中搜索指定的字符串。它通常用于查找包含特定文本的行或文件。

用法:

dos 复制代码
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/A:attr] [/F:file] [/C:string] [/D:dir] [/T:tag] [/W] [/G:file] [string1 ...] [file ...]

参数说明:

/B : 只匹配整行。

/E : 忽略大小写。

/L : 使用常规表达式进行匹配。

/R : 忽略大小写的正则表达式匹配(需要与 /I 一起使用)。

/S : 递归搜索当前目录和所有子目录中的文件。

/I : 忽略大小写。

/X : 打印不匹配的行。

/V : 只打印未找到指定字符串的行。

/N : 显示行号。

/M : 打印文件名,如果找到匹配项。

/O : 仅在没有其他选项时使用,输出文件内容。

/P : 忽略具有不可打印字符的行。

/A:attr : 只查找具有指定属性集的文件。

/F:file : 从指定文件中读取要搜索的字符串。

/C:string : 使用直接在命令行中指定的字符串进行搜索。

/D:dir : 搜索指定目录及其子目录。

/T:tag : 将搜索到的文本标记为 ...,默认为 。

/W : 将整个单词作为分隔符。

/G:file : 获取搜索字符串列表的文件名。

string1 ... : 要搜索的字符串。

file ... : 要搜索的文件。

示例:

1.在 example.txt 文件中搜索包含 "hello" 的行并打印出来。

FINDSTR "hello" example.txt

2.在 example.txt 文件中搜索忽略大小写的 "Hello" 字符串。

FINDSTR /I "Hello" example.txt

3.在当前目录及其子目录中的所有 .txt 文件中递归搜索忽略大小写的 "search_term"。

FINDSTR /S /I "search_term" *.txt

4.在 file.txt 中搜索 "keyword" 并显示行号。

FINDSTR /N "keyword" file.txt

5.在 file.txt 中显示不包含 "keyword" 的行。

FINDSTR /V "keyword" file.txt

6.使用 searchlist.txt 中的字符串列表在多个 .txt 文件中进行搜索。

FINDSTR /G:searchlist.txt files*.txt

7.在所有 .log 文件中递归搜索忽略大小写的 "pattern",并显示行号。

FINDSTR /I /N /S "pattern" *.log

3.8 文件合并

3.8.1 copy

功能:

COPY命令:除了复制文件外,还可以用于合并文件。

用法:

dos 复制代码
copy file1.txt+file2.txt combined.txt

示例:

将file1.txt和file2.txt合并为combined.txt

dos 复制代码
copy file1.txt+file2.txt combined.txt

3.9 文件分割

3.9.1 SPLIT

功能:

SPLIT命令是一个用于将文件拆分成多个部分的实用工具。这在处理大文件时非常有用,特别是当需要将它们传输到不支持大文件的旧系统或介质上时。

用法:

dos 复制代码
SPLIT [drive:][path]filename [extension] [/B] [size]

参数说明:

[drive:] [path]filename:指定要拆分的文件的路径和名称。

[extension]:指定输出文件的扩展名,通常是.001, .002, .003等,以表示这是拆分后的一系列文件中的第一个、第二个、第三个等。

[/B]:这个选项用于二进制文件。如果省略此选项,SPLIT会尝试作为ASCII文本文件处理,这可能会导致非文本文件的数据损坏。

[size]:指定每个拆分文件的大小(以KB为单位)。如果不指定,默认值通常是64KB。

示例:

1.将example.txt文件拆分成多个128KB大小的文件,并以.txt为扩展名保存这些文件。

dos 复制代码
SPLIT example.txt /B 128 /EXT txt

注意事项:

确保指定的文件存在,否则SPLIT命令将无法执行。

如果目标目录没有足够的空间来存储所有拆分后的文件,SPLIT命令可能会失败。

在使用/B选项时要注意,因为错误地将ASCII文件作为二进制文件处理可能导致数据丢失或文件损坏。

3.10 文件压缩和解压缩

3.10.1 ZIP命令

功能:

ZIP命令是DOS操作系统中用于文件压缩和解压缩的工具之一。它允许用户将多个文件压缩成一个单独的压缩文件,或者将压缩文件解压缩回其原始文件。

用法:

dos 复制代码
创建压缩文件:zip [options] zipfile.zip file1 [file2 ...]
zipfile.zip: 要创建的压缩文件的名称。
file1, file2, ...: 需要压缩的文件或目录列表。

解压缩文件:zip [options] -d zipfile.zip
zipfile.zip: 要解压缩的压缩文件。

参数说明:

-r: 递归地处理目录,即如果指定的文件是目录,则将其下所有子目录和文件一并压缩。

-q: 静默模式,减少输出信息量。

-x <pattern>: 排除符合特定模式的文件。

-n <string>: 不压缩名称包含指定字符串的文件。

-e: 加密压缩文件,需要设置密码。

-u: 更新压缩文件中已存在的文件,仅添加新的或修改过的文件。

示例:

1.这将创建一个名为myarchive.zip的压缩文件,其中包含myfile.txt

zip myarchive.zip myfile.txt

2.这将创建一个包含file1.txt, file2.txt, 和 file3.txt三个文件的压缩包。

zip myarchive.zip file1.txt file2.txt file3.txt

3.使用-r选项可以递归地压缩整个目录及其子目录中的所有文件。

zip -r myfolder.zip myfolder/

4.这会解压myarchive.zip中的所有内容到当前目录。

unzip myarchive.zip

5.在压缩过程中,系统会提示您输入并确认一个密码,之后只有知道这个密码的用户才能解压该文件。

zip -e secret.zip myfile.txt

6.如果newfile.txt已经存在于myarchive.zip中,则替换之;如果不存在,则添加到压缩包里。

zip -u myarchive.zip newfile.txt

3.11 文件新建

3.11.1 md

功能:

用于创建新目录的命令行工具

用法:

dos 复制代码
md [options] directory_name

常用参数:

/s:创建多级目录。如果父目录不存在,则会一并创建。

/q:在创建目录时不显示任何输出信息。

示例:

1.在当前目录下创建一个名为newfolder的新目录

dos 复制代码
md newfolder

2.在C盘的example目录下创建一个名为newfolder的新目录。如果example目录不存在,此命令将失败,因为MD命令不会自动创建中间目录。

dos 复制代码
md c:\example ewfolder

3.12 磁盘操作

3.12.1 format

功能:

用于格式化磁盘驱动器,包括硬盘、USB 驱动器和其他存储介质。格式化过程会清除设备上的所有数据并创建一个新的文件系统结构,以便存储文件。

用法:

dos 复制代码
format [drive:] [/options]

常用参数:

drive::指定要格式化的驱动器字母,例如 C:D: 等。

/fs:file_system:指定文件系统类型,可以是 FAT32NTFSexFAT 等。

/q:快速格式化,只清除文件系统结构,而不检查坏道。通常比完整格式化更快。

/x: 强制卸载驱动器,即使该驱动器正在使用中。

/v:label:为格式化的驱动器指定卷标。若未指定,将使用默认卷标。

/c:在 NTFS 文件系统中创建一个压缩卷。

/p:passes:对于 NTFS,进行多次写入,以覆盖数据,增加数据恢复的难度。

/?:显示命令的帮助信息

示例:

3.12.2 unformat

功能:

用于恢复已格式化的磁盘或分区的工具,要目的是尝试恢复数据,尤其是当用户意外格式化了一个分区或磁盘时。它通过检查磁盘的原始结构和数据来尝试恢复丢失的文件。

用法:

dos 复制代码
UNFORMAT drive: [/J] [/U] [/L] [/TEST] [/P] [/R] [/A]

参数说明:

drive: 指定要恢复的驱动器号,例如 A:, B:, C:, D: 等。

/J: 使用MSCDEX驱动程序来访问扩展字符集。

/U: 列出找到的文件及其路径。

/L: 列出每个文件和子目录的完整路径。

/TEST: 测试模式,不执行实际的恢复操作。仅显示将要恢复的信息。

/P: 将输出信息发送到打印机。

/R: 恢复根目录和文件分配表,但不恢复文件内容。

/A: 使用辅助内存(EMS内存)进行恢复操作。

示例:

1.恢复C盘上的数据,可以使用以下命令

dos 复制代码
unformat c: /U /L

注意事项:

数据安全性: 使用"unformat"命令并不能保证所有数据都能完全恢复。如果格式化后有新的数据写入,原始数据可能会被覆盖,导致无法恢复。

风险提示: 在使用"unformat"之前,确保你理解该命令的作用,因为错误的操作可能会导致进一步的数据丢失。

备份重要性: 定期备份重要数据是防止数据丢失的最佳策略。

除了DOS下的"unformat"命令,还有其他一些第三方软件也提供了更强大的数据恢复功能,如Recuva、EaseUS Data Recovery Wizard等。这些工具通常提供图形用户界面,使得数据恢复过程更加直观和易于操作。

3.13 文件恢复

3.13.1 undelete

功能:

命令用于恢复在 DOS 系统中被删除的文件。此命令通常在某些文件系统(如 FAT 文件系统)中使用,但并非所有操作系统或文件系统都支持该命令。

用法:

dos 复制代码
undelete [options] [filename]

常用参数:

/n:列出被删除的文件,而不恢复。适用于查看可以恢复的文件列表。

/y:自动确认恢复操作,适用于脚本或批处理文件中使用

3.14 其他

3.14.1 notepad

功能:

用于在 Windows 操作系统中启动记事本应用程序(Notepad)

用法:

dos 复制代码
notepad [filename]

示例:

1.打开指定文件,不存在新建

dos 复制代码
notepad example.txt

相关资源

DOS 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令

相关推荐
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(4)
网络·计算机网络
装睡的小5郎1 小时前
家庭宽带如何开启公网ipv4和ipv6
网络
yfs10241 小时前
压缩Minio桶中的文件为ZIP,并通过 HTTP 响应输出
网络·网络协议·http
有谁看见我的剑了?1 小时前
Ubuntu 22.04.5 配置vlan子接口和网桥
服务器·网络·ubuntu
hgdlip1 小时前
有什么办法换网络ip动态
网络·tcp/ip·智能路由器
超栈1 小时前
HCIP(11)-期中综合实验(BGP、Peer、OSPF、VLAN、IP、Route-Policy)
运维·网络·网络协议·计算机网络·web安全·网络安全·信息与通信
დ旧言~1 小时前
【网络】应用层——HTTP协议
开发语言·网络·网络协议·http·php
不爱学习的YY酱1 小时前
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(1)
网络·计算机网络
汪小敏同学1 小时前
【Django进阶】django-rest-framework中文文档——快速入门
网络·windows·oracle
徐浪老师2 小时前
OSPF动态路由配置实验:实现高效网络自动化
网络·自动化·智能路由器