[ DOS 命令基础 3 ] DOS 命令详解-文件操作相关命令
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
我们搞网络安全需要经常用到 dos 命令,比用拿到 windows 的 shell,需要使用 dos 命令。再比如 bat 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 dos 命令。本文讲解与文件及文件夹操作的命令。
文章目录
- 🍬 博主介绍
- 3.1 文件复制
- 3.1.1 copy
- 3.1.2 xcopy
- 3.2 文件删除
- 3.2.1 del
- 3.2.2 rd
- 3.2.3 deltree
- 3.3 文件重命名
- 3.3.1 ren
- 3.3.2 move
- 3.4 文件显示
- 3.4.1 dir
- 3.4.2 type
- 3.5 文件属性修改
- 3.5.1 attrib
- 3.6 文件比较
- 3.6.1 FC
- 3.6.2 COMP
- 3.7 文件查找
- 3.7.1 FINDSTR
- 3.8 文件合并
- 3.8.1 copy
- 3.9 文件分割
- 3.9.1 SPLIT
- 3.10 文件压缩和解压缩
- 3.10.1 ZIP命令
- 3.11 文件新建
- 3.11.1 md
- 3.12 磁盘操作
- 3.12.1 format
- 3.12.2 unformat
- 3.13 文件恢复
- 3.13.1 undelete
- 3.14 其他
- 3.14.1 notepad
- 相关资源
3.1 文件复制
3.1.1 copy
功能:
用于在 Windows 和 DOS 系统中复制文件的命令行工具
用法:
copy [options] file1.txt file2.txt
常用参数:
/A
:指定复制 ASCII 文本文件。默认情况下,copy
处理二进制文件。
/B
:指定复制二进制文件。可以防止数据在复制过程中被更改。
/V
: 验证新文件是否与源文件相同。
/Y
: 在复制时不提示确认覆盖现有文件。可以用于脚本中。
/-Y
:在复制时提示确认覆盖现有文件。
示例:
1.验证复制
copy /V file1.txt file2.txt
2.复制ASCII文件
copy /A file1.txt file2.txt
3.复制多个文件
copy C:\source\*.txt C:\destination\
3.1.2 xcopy
功能:
一个强大的文件复制工具,用于在 Windows 系统中复制文件和目录。与
copy
命令相比,xcopy
支持更复杂的复制选项,可以处理子目录和各种文件属性。
用法:
xcopy source [destination] [options]
常用参数:
/s
:复制目录及其子目录,但不包括空目录。
/e
:复制所有子目录,包括空目录。常与/s
一起使用。
/h
:复制隐藏文件和系统文件。
/i
:如果目标不存在,假定目标是一个目录。
/c
:在发生错误时继续复制。
/k
:复制文件的属性(如只读、系统等)。
/y
:不提示确认,覆盖现有文件。
/d
:仅复制源文件比目标文件新的文件。
示例:
1.复制目录及其所有内容
xcopy C:\data D:\backup /s
2.复制空目录
xcopy C:\data D:\backup /e
3.保留文件属性
xcopy C:\files\* D:\files\ /k
4.发生错误后继续
xcopy C:\source D:\destination /c
3.2 文件删除
3.2.1 del
功能:
用于在 Windows 命令行中删除一个或多个文件。它是文件管理的基本命令之一,可以通过命令提示符或批处理文件使用。
用法:
del [options] filename
常用参数:
/P
:在删除每个文件之前提示确认,确保用户不小心删除重要文件。
/F
:强制删除只读文件,允许删除标记为只读的文件。
/S
:删除指定目录及其所有子目录中的匹配文件。
/Q
:安静模式,不显示删除的文件名。
*
和?
通配符:*
匹配零个或多个字符,?
匹配单个字符。例如,del *.txt
删除当前目录下所有的.txt
文件。
示例:
1.删除文件
del example.txt
2.删除文件
del file1.txt file2.txt
3.使用通配符
del *.log
4.删除指定目录及子目录中的文件
del /S *.bak
3.2.2 rd
功能:
用于删除目录
用法:
rd [options] directory_name
常用参数:
/s
:删除指定目录及其所有子目录和文件。使用此选项时,目录不能是空的。
/q
:安静模式,不显示确认消息。适用于脚本或批处理文件中使用。
示例:
1.删除aaa目录及其所有子目录和文件
rd /s aaa
3.2.3 deltree
功能:
用于删除目录及其内容的 DOS 命令。它可以递归地删除指定目录及其所有子目录和文件,非常强大,但也需要小心使用,因为一旦删除,将无法恢复。
用法:
deltree [options] directory
常用参数:
/y
:在删除过程中不提示用户确认。直接删除指定的目录及其内容。
示例:
1.删除目录机器所有内容
deltree C:\example\folder
2.强制删除
deltree /y C:\example\folder
3.3 文件重命名
3.3.1 ren
功能:
用于在命令行中重命名文件或目录。它是一个简单而实用的命令,适用于 Windows 和 DOS 环境。
用法:
ren [old_name] [new_name]
常用参数:
old_name
:原来的名称
new_name
:修改后的名称
示例:
1.重命名文件
ren example.txt sample.txt
2.批量重命名
ren *.txt *.bak
3.3.2 move
功能:
用于在文件系统中移动文件或目录,或重命名文件和目录
用法:
move [options] source destination
常用参数:
/y
:在覆盖现有文件时,不提示用户进行确认。
/n
: 在移动文件时,不覆盖现有文件,并在源文件与目标文件同名的情况下显示错误消息。
示例:
将aaa目录移动到bbb目录
move /y aaa bbb
3.4 文件显示
3.4.1 dir
功能:
用于列出当前目录中的文件和子目录
用法:
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
功能:
用于在命令行中显示文本文件的内容。它可以逐行输出文件的内容,适合查看小型文件的内容或快速查看文件的内容,而无需打开文本编辑器。
用法:
type [filename]
常用参数:
filename
:要查看内容的文件名,可以是相对路径或绝对路径
示例:
1.查看单个文件内容
type example.txt
2.查看多个文件的内容
type file1.txt file2.txt
3.5 文件属性修改
3.5.1 attrib
功能:
用于显示或更改文件和目录的属性。在 Windows 和 DOS 系统中,这个命令非常有用,特别是在管理文件权限和属性时。
用法:
attrib [options] [file_name]
常用参数:
+
和-
:用于添加或移除属性。属性标志:
R
:只读(Read-only)属性。
A
:归档(Archive)属性。
S
:系统(System)属性。
H
:隐藏(Hidden)属性。
示例:
1.查看文件或目录属性
attrib example.txt
2.添加只读属性
attrib +R example.txt
3.移除只读属性
attrib -R example.txt
4.通配符
attrib *.txt
3.6 文件比较
3.6.1 FC
功能:
FC命令是一个用于比较两个文件或两个文件集的差异的命令。它主要用于文本文件的比较,但也可以用于二进制文件。FC命令可以显示两个文件之间的差异,并将这些差异输出到标准输出设备(通常是控制台)或重定向到文件中。
用法:
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.比较两个文件并显示差异:
fc file1.txt file2.txt
2.比较两个文件,忽略大小写差异:
fc /c file1.txt file2.txt
3.比较两个文件,只显示有差异的行
fc /n file1.txt file2.txt
4.比较两个文件,分页显示结果
fc /p file1.txt file2.txt
5.比较两个文件,生成报告文件:
fc /r file1.txt file2.txt report.txt
6.比较两个文件,以统一格式显示结果
fc /u file1.txt file2.txt
7.比较两个文件,压缩空白区域:
fc /w file1.txt file2.txt
8.比较两个文件,按ASCII值显示字符的十进制、十六进制和八进制值
fc /l file1.txt file2.txt
9.比较当前目录下的所有文件
fc *.txt
注意事项:
FC命令适用于文本文件和二进制文件,但对于二进制文件,建议使用专用的二进制比较工具。
当比较大型文件时,可能需要较长时间,并且输出可能非常长。可以使用
/n
参数限制输出。在使用通配符时,请确保路径和文件名正确无误,以避免意外比较。
3.6.2 COMP
功能:
COMP命令是DOS操作系统中用于比较两个文件或目录内容差异的命令。它主要用于检查文件的完整性,确保复制、传输或修改后的文件与原文件保持一致。
用法:
comp [options] file1 file2
参数说明:
/D
用于显示不同之处
/A
仅比较ASCII字符
/B
以二进制模式比较文件
/C
忽略大小写
/N
禁止扩展匹配,
/OFF[LINE]
在脱机状态下运行比较
示例:
1.比较两个文件的不同之处
comp /D aaa.txt bbb.txt
注意事项:
当比较两个文件时,如果文件名相同,COMP将自动假设它们是相同的,并返回0退出码。
如果只指定了一个文件名,COMP将提示用户输入第二个文件名。
如果要比较的文件位于不同的驱动器上,可能需要先使用
CD
命令切换到相应的目录。
3.7 文件查找
3.7.1 FINDSTR
功能:
FINDSTR
是 Windows 操作系统中的命令行工具,用于在文件中搜索指定的字符串。它通常用于查找包含特定文本的行或文件。
用法:
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命令:除了复制文件外,还可以用于合并文件。
用法:
copy file1.txt+file2.txt combined.txt
示例:
将file1.txt和file2.txt合并为combined.txt
copy file1.txt+file2.txt combined.txt
3.9 文件分割
3.9.1 SPLIT
功能:
SPLIT命令是一个用于将文件拆分成多个部分的实用工具。这在处理大文件时非常有用,特别是当需要将它们传输到不支持大文件的旧系统或介质上时。
用法:
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为扩展名保存这些文件。
SPLIT example.txt /B 128 /EXT txt
注意事项:
确保指定的文件存在,否则SPLIT命令将无法执行。
如果目标目录没有足够的空间来存储所有拆分后的文件,SPLIT命令可能会失败。
在使用/B选项时要注意,因为错误地将ASCII文件作为二进制文件处理可能导致数据丢失或文件损坏。
3.10 文件压缩和解压缩
3.10.1 ZIP命令
功能:
ZIP命令是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
功能:
用于创建新目录的命令行工具
用法:
md [options] directory_name
常用参数:
/s
:创建多级目录。如果父目录不存在,则会一并创建。
/q
:在创建目录时不显示任何输出信息。
示例:
1.在当前目录下创建一个名为newfolder的新目录
md newfolder
2.在C盘的example目录下创建一个名为newfolder的新目录。如果example目录不存在,此命令将失败,因为MD命令不会自动创建中间目录。
md c:\example ewfolder
3.12 磁盘操作
3.12.1 format
功能:
用于格式化磁盘驱动器,包括硬盘、USB 驱动器和其他存储介质。格式化过程会清除设备上的所有数据并创建一个新的文件系统结构,以便存储文件。
用法:
format [drive:] [/options]
常用参数:
drive:
:指定要格式化的驱动器字母,例如C:
、D:
等。
/fs:file_system
:指定文件系统类型,可以是FAT32
、NTFS
、exFAT
等。
/q
:快速格式化,只清除文件系统结构,而不检查坏道。通常比完整格式化更快。
/x
: 强制卸载驱动器,即使该驱动器正在使用中。
/v:label
:为格式化的驱动器指定卷标。若未指定,将使用默认卷标。
/c
:在 NTFS 文件系统中创建一个压缩卷。
/p:passes
:对于 NTFS,进行多次写入,以覆盖数据,增加数据恢复的难度。
/?
:显示命令的帮助信息
示例:
3.12.2 unformat
功能:
用于恢复已格式化的磁盘或分区的工具,要目的是尝试恢复数据,尤其是当用户意外格式化了一个分区或磁盘时。它通过检查磁盘的原始结构和数据来尝试恢复丢失的文件。
用法:
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盘上的数据,可以使用以下命令
unformat c: /U /L
注意事项:
数据安全性
: 使用“unformat”命令并不能保证所有数据都能完全恢复。如果格式化后有新的数据写入,原始数据可能会被覆盖,导致无法恢复。
风险提示
: 在使用“unformat”之前,确保你理解该命令的作用,因为错误的操作可能会导致进一步的数据丢失。
备份重要性
: 定期备份重要数据是防止数据丢失的最佳策略。除了DOS下的“unformat”命令,还有其他一些第三方软件也提供了更强大的数据恢复功能,如Recuva、EaseUS Data Recovery Wizard等。这些工具通常提供图形用户界面,使得数据恢复过程更加直观和易于操作。
3.13 文件恢复
3.13.1 undelete
功能:
命令用于恢复在 DOS 系统中被删除的文件。此命令通常在某些文件系统(如 FAT 文件系统)中使用,但并非所有操作系统或文件系统都支持该命令。
用法:
undelete [options] [filename]
常用参数:
/n
:列出被删除的文件,而不恢复。适用于查看可以恢复的文件列表。
/y
:自动确认恢复操作,适用于脚本或批处理文件中使用
3.14 其他
3.14.1 notepad
功能:
用于在 Windows 操作系统中启动记事本应用程序(Notepad)
用法:
notepad [filename]
示例:
1.打开指定文件,不存在新建
notepad example.txt
相关资源
DOS 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令