Dos 命令
文件夹操作
dir 显示目录中的文件和子目录列表
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename] 指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
属性 D 目录 R 只读文件 H 隐藏文件 A 准备存档的文件 S 系统文件
I 无内容索引文件 L 重新分析点 O 脱机文件
- 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来禁用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先
- 反转顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/R 显示文件的备用数据流。
/S 显示指定目录和所有子目录中的文件。
# 显示当前目录中文件和子目录
dir
# 显示当前目录中文件和子目录 包括隐藏文件和系统文件
dir /A
# 显示当前目录中子目录
dir /A:D
# 显示当前目录及子目录中文件
dir /A:-D/S
# 显示A目录及其子目录 .txt 扩展名文件
dir .\A\*.txt /S
# 显示当前目录及子目录 .txt 扩展名文件和A目录中文件和子目录
dir .\A *.txt /S
xcopy 复制文件和目录树
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
[/EXCLUDE:file1[+file2][+file3]...]
source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 仅复制有存档属性集的文件,但不更改属性。
/M 仅复制有存档属性集的文件,并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些源时间比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。每个字符串
在文件中应位于单独的一行。如果任何
字符串与复制文件的绝对路径的任何部分相符,
则排除复制该文件。例如,
指定如 \obj\ 或 .obj 的字符串会分别
排除目录 obj 下面的所有文件或带有
.obj 扩展名的所有文件。
/P 创建每个目标文件之前提示你。
/S 复制目录和子目录,不包括空目录。
/E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/W 提示你在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源文件名和目标文件名。
/L 显示要复制的文件。
/G 允许将加密文件复制到不支持加密的目标。
/H 也复制隐藏文件和系统文件。
/R 覆盖只读文件。
/T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重置只读属性。
/N 用生成的短名称复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 取消提示以确认要覆盖现有目标文件。
/-Y 要提示以确认要覆盖现有目标文件。
/Z 在可重新启动模式下复制网络文件。
/B 复制符号链接本身与链接目标。
/J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。
# 将 two文件夹 下的所有目录及子目录文件和目录复制到当前文件夹下
xcopy ..\Two .\ /S/E/Y
xcopy ..\Two /S/E/Y
# 将当前文件夹下的所有目录及子目录文件和目录复制到 two文件夹 下
xcopy . ..\Two /S/E/Y
# 将当前文件夹下的所有目录及子目录文件和目录复制到 two文件夹 下 排除 one.txt 文件里面的名称
G:\study\Dos\One>xcopy . ..\Two /S/E/Y/EXCLUDE:one.txt
cd 显示当前目录名或更改当前目录
CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]
.. 指定要改成父目录。
# 切换到 D盘 目录
cd /D D:
cd /D D:\
D:
# 切换到父目录
cd ..
md 创建文件夹
MKDIR [drive:]path
MD [drive:]path
md 创建文件夹如果中间路径不存在会自动创建
#创建 AA文件夹 改文件夹在 A/AA/ 下
md A\AA\AA
rd 删除一个目录
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
# 删除 A文件夹 并删除所有子目录和文件
rd /S/Q A
path 为可执行文件显示或设置一个搜索路径
多个路径用 ; 分割
path ; 清楚搜素路径
# 执行 A 文件夹下 a.bat 文件
path .\A
a.bat
tree 显示树状文件夹结构
TREE [drive:][path] [/F] [/A]
/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。
# 显示当前文件夹树状结构
tree /A /F
# 显示 文件夹A 树状结构
tree .\A /A /F
文件目录
# dos 定位在 One 文件夹内
Dos
-One
-- 文件夹A
--- a.txt
--- a.bat
-- 文件夹B
--- b.txt
-- one.txt
-- yc.txt(隐藏文件)
-Two
-- 文件夹C
--- c.txt
-- 文件夹D
--- d.txt
-- two.txt
文件操作
copy 复制
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y 不使用确认是否要覆盖现有目标文件的提示。
/-Y 使用确认是否要覆盖现有目标文件的提示。
/Z 用可重新启动模式复制已联网的文件。
/L 如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
# 文件复制
# 将 a.txt 复制为 d.txt
copy /Y a.txt d.txt
# 将 A文件夹下 a.txt 复制为 d.txt
copy /Y A\a.txt d.txt
# 复制带有空格等特殊符号,使用引号括起来
copy /Y "test a.txt" "A\te&a.txt"
# 合并文件 (没有合并文件名 默认合并第一个)
# 将所有 .txt 扩展名文件合并为 d.txt
copy /Y *.txt d.txt
# 将 a.txt 和 b.txt 合并为 d.txt
copy /Y a.txt+b.txt d.txt
# 将 a.txt 和 A文件夹下的 a.txt 合并为 d.txt
copy /Y a.txt+A\a.txt d.txt
# 将文件复制到目录下
# 将文件 a.txt 复制到 文件夹A 下
copy /Y a.txt A
# 将所有 .txt 扩展名文件复制到 文件夹A 下
copy /Y *.txt A
# 将 文件夹A 下所有文件复制到 文件夹B 下
copy /Y .\A .\B
move 移动文件或者目录
# 移动 Aa.txt文件到 文件夹A
move /Y .\B\Aa.txt .\A
# 移动所有 .txt 扩展名文件到 文件夹A
move /Y *txt .\A
# 移动 文件夹B 到 文件夹 A
move /Y .\B .\A
# 移动时重命名 移动 文件夹B 到 文件夹 A 并改名为 B1
move /Y .\B .\A\B1
del 删除文件
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 删除所有子目录中的指定的文件。
/Q 安静模式。删除全局通配符时,不要求确认
/A 根据属性选择要删除的文件
属性 R 只读文件 S 系统文件 H 隐藏文件
A 准备存档的文件 I 无内容索引文件 L 重新分析点
O 脱机文件 - 表示“否”的前缀
# 删除 文件夹B 下的 Ba.txt 和 Bb.txt
del .\B\Ba.txt .\B\Bb.txt
# 删除 文件夹A 和 文件夹B 下的 Aa.txt
del /s Aa.txt
# 删除 文件夹A 下的所有文件
del .\A\* 或 del.\A
# 删除 文件夹A 下的所有 .txt扩展名del文件
del .\A\*.txt
fc 比较两个文件或文件集并显示不同
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:] [path2]filename2
FC /B [drive1:][path1]filename1 [drive2:] [path2]filename2
/A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设置为指定的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将制表符扩充到空格。
/U 将文件作为 UNICODE 文本文件比较。
/W 为了比较而压缩空白(制表符和空格)。
/nnnn 指定不匹配处后必须连续匹配的行数。
[drive1:][path1]filename1 指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2 指定要比较的第二个文件或第二个文件集。
# 比较 A 文件夹下 Aa.txt 和 B 文件夹下 Ba.txt 不同
fc .\A\Aa.txt .\B\Ba.txt
find 在文件中搜索字符串
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]
/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。
# 查找文件 a.txt 里面包含 ka 的行 不区分大小写 并显示行数
find /I /N "ka" a.txt
attrib 显示或更改文件属性
显示或更改文件属性。
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [+O | -O] [+I | -I] [+X | -X] [+P | -P] [+U | -U] [drive:][path][filename] [/S [/D]] [/L]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
O 脱机属性。
I 无内容索引文件属性。
X 无清理文件属性。
V 完整性属性。
P 固定属性。
U 非固定属性。
[drive:][path][filename] 指定属性要处理的文件。
/S 处理当前文件夹及其所有子文件夹中的匹配文件。
/D 也处理文件夹。
/L 处理符号链接和符号链接目标的属性
# 显示 B文件夹下所有 txt 扩展名称文件的属性
attrib .\B\*.txt
# 显示 B文件夹下所有文件的属性
attrib .\B\*
# 显示 B文件夹的属性
attrib .\B
# 修改 B文件夹下所有文件和文件夹的只读属性
attrib +R .\B\* /D
replace 替换文件
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]
[drive1:][path1]filename 指定源文件。
[drive2:][path2] 指定要替换文件的目录。
/A 把新文件加入目标目录。不能和/S 或 /U 命令行开关搭配使用。
/P 替换文件或加入源文件之前会先提示你进行确认。
/R 替换只读文件以及未受保护的文件。
/S 替换目标目录中所有子目录的文件。不能与 /A 命令开关搭配使用。
/W 等你插入磁盘以后再运行。
/U 只会替换或更新比源文件日期早的文件。不能与 /A 命令行开关搭配使用。
# 将 a.txt 加入到 A文件夹下
replace a.txt .\A /A
ren 重命名文件
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
请注意,你不能为目标文件指定新的驱动器或路径。 后面的名字不能包含路径
# 重命名 A文件夹 D
ren .\A D
rename .\A D
# 重命名 a.txt e.txt
ren a.txt e.txt
rename a.txt e.txt
type 显示文本文件内容
type a.bat
type .\A\Aa.txt
文件目录
# dos 定位在 Dos 文件夹内
Dos
- 文件夹A
-- Aa.txt
-- Ab.txt
- 文件夹B
-- Ba.txt
-- Bb.txt
- a.bat
- a.txt
- b.txt
- c.txt
- test a.txt(带有空格)
清屏
cls
查询帮助
例: copy /?