跳转至

文件与目录管理命令

概述

Windows提供了丰富的文件与目录管理命令,用于创建、查看、复制、移动和删除文件及目录。

目录浏览与导航

dir - 列出目录内容

dir命令

显示目录中的文件和子目录列表。

语法

Text Only
dir [drive:][path][filename] [选项]

常用选项

选项 说明
/a 显示所有文件(包括隐藏和系统文件)
/ah 只显示隐藏文件
/as 只显示系统文件
/b 使用简洁格式(只显示文件名)
/s 显示当前目录及所有子目录中的文件
/o 按指定顺序显示(n:名称, s:大小, d:日期)
/w 使用宽列表格式
/p 每屏暂停

示例

Text Only
1
2
3
4
5
6
dir                          # 显示当前目录内容
dir C:\Windows              # 显示指定目录
dir /a                      # 显示所有文件(含隐藏文件)
dir /s /b *.txt             # 查找所有txt文件
dir /o:-d                   # 按日期倒序排列
dir | findstr "log"         # 查找包含log的文件

cd - 切换目录

cd命令

显示当前目录名或切换到指定目录。

语法

Text Only
cd [/d] [drive:][path]
chdir [/d] [drive:][path]

选项: - /d:同时切换驱动器和目录

示例

Text Only
1
2
3
4
5
cd                          # 显示当前目录
cd C:\Users                 # 切换到指定目录
cd ..                       # 返回上级目录
cd \                        # 返回根目录
cd /d D:\Projects           # 切换到D盘的Projects目录

特殊符号: - .:当前目录 - ..:上级目录 - \:根目录

tree - 显示目录树

语法

Text Only
tree [drive:][path] [/f] [/a]

选项: - /f:显示每个目录中的文件名 - /a:使用文本字符而不是图形字符

示例

Text Only
1
2
3
tree                        # 显示当前目录树
tree C:\Projects /f         # 显示目录树和文件
tree /a > tree.txt          # 输出目录树到文件

目录创建与删除

md/mkdir - 创建目录

md命令

创建目录或子目录。

语法

Text Only
md [drive:][path]
mkdir [drive:][path]

示例

Text Only
1
2
3
md test                     # 创建test目录
md dir1\dir2\dir3           # 创建多级目录
mkdir "C:\My Documents"     # 创建带空格的目录

rd/rmdir - 删除目录

rd命令

删除目录。删除前请确认目录内容。

语法

Text Only
rd [/s] [/q] [drive:][path]
rmdir [/s] [/q] [drive:][path]

选项: - /s:删除目录树(包括所有子目录和文件) - /q:安静模式,不提示确认

示例

Text Only
1
2
3
rd test                     # 删除空目录
rd /s dir1                  # 删除目录及其内容(需确认)
rd /s /q temp               # 静默删除目录树

文件操作

copy - 复制文件

语法

Text Only
copy [/y | /-y] source destination

选项: - /y:覆盖现有文件不提示 - /-y:覆盖前提示确认

示例

Text Only
1
2
3
4
copy file1.txt file2.txt           # 复制文件
copy *.txt C:\Backup               # 复制所有txt文件到Backup
copy file1.txt+file2.txt all.txt   # 合并文件
copy /y source.txt dest.txt        # 不提示覆盖

xcopy - 扩展复制

xcopy命令

高级文件复制工具,支持目录树复制。

语法

Text Only
xcopy source destination [选项]

常用选项

选项 说明
/s 复制目录和子目录(不包括空目录)
/e 复制目录和子目录(包括空目录)
/i 假定目标是目录
/y 覆盖不提示
/h 复制隐藏和系统文件
/r 覆盖只读文件
/d:date 只复制指定日期后修改的文件
/exclude:file 排除指定文件

示例

Text Only
1
2
3
xcopy C:\Source D:\Dest /s /e      # 复制整个目录树
xcopy *.txt D:\Backup /s           # 复制所有txt文件
xcopy Source Dest /s /e /h /r      # 复制所有文件(含隐藏)

robocopy - 强大的文件复制

robocopy命令

Robust File Copy,Windows最强大的文件复制工具。

语法

Text Only
robocopy source destination [file [file]...] [选项]

常用选项

选项 说明
/s 复制子目录(不包括空目录)
/e 复制子目录(包括空目录)
/mir 镜像目录树(相当于/e /purge)
/xo 排除较旧的文件
/xn 排除较新的文件
/xx 排除额外的文件
/r:n 失败重试次数(默认100万次)
/w:n 重试等待时间(秒,默认30秒)
/mt:n 多线程复制(n为线程数)
/log:file 输出日志到文件
/z 可重启模式

示例

Text Only
1
2
3
4
5
6
robocopy C:\Source D:\Dest /s /e           # 复制目录树
robocopy C:\Data D:\Backup /mir            # 镜像复制(同步)
robocopy C:\Source D:\Dest /s /mt:8        # 8线程复制
robocopy C:\Source D:\Dest /s /r:3 /w:5    # 重试3次,等待5秒
robocopy C:\Source D:\Dest /s /log:copy.log # 记录日志
robocopy C:\Source D:\Dest *.txt /s        # 只复制txt文件

move - 移动文件

语法

Text Only
move [/y | /-y] source destination

示例

Text Only
1
2
3
move file.txt D:\Backup           # 移动文件
move *.txt C:\Text                # 移动所有txt文件
move C:\Old C:\New                # 重命名目录

del/erase - 删除文件

del命令

删除一个或多个文件。删除后无法恢复。

语法

Text Only
del [/p] [/f] [/s] [/q] names
erase [/p] [/f] [/s] [/q] names

选项: - /p:删除前确认 - /f:强制删除只读文件 - /s:删除所有子目录中的指定文件 - /q:安静模式,不提示确认

示例

Text Only
1
2
3
4
del file.txt                      # 删除文件
del *.tmp                         # 删除所有tmp文件
del /s /q *.log                   # 静默删除所有log文件
del /f readonly.txt               # 强制删除只读文件

rename/ren - 重命名

语法

Text Only
rename [drive:][path]filename1 filename2
ren [drive:][path]filename1 filename2

示例

Text Only
rename old.txt new.txt            # 重命名文件
ren *.txt *.bak                   # 批量修改扩展名

文件查找与比较

where - 查找文件

语法

Text Only
where [/r dir] [/q] [/f] pattern

选项: - /r dir:从指定目录开始递归搜索 - /q:只返回退出代码 - /f:显示完整路径和文件名

示例

Text Only
1
2
3
where notepad                    # 查找notepad位置
where /r C:\ *.exe               # 查找所有exe文件
where python                     # 查找python路径

fc - 文件比较

语法

Text Only
fc [/a] [/b] [/c] [/l] [/n] file1 file2

选项: - /a:ASCII比较 - /b:二进制比较 - /c:忽略大小写 - /l:将文件作为ASCII文本比较 - /n:显示行号

示例

Text Only
1
2
3
fc file1.txt file2.txt           # 比较两个文件
fc /b file1.bin file2.bin        # 二进制比较
fc /c a.txt b.txt                # 忽略大小写比较

文件属性

attrib - 查看或修改文件属性

语法

Text Only
attrib [+r | -r] [+a | -a] [+s | -s] [+h | -h] [drive:][path][filename] [/s [/d]]

属性: - r:只读(Read-only) - a:存档(Archive) - s:系统(System) - h:隐藏(Hidden)

示例

Text Only
1
2
3
4
5
attrib file.txt                  # 查看文件属性
attrib +h file.txt               # 设置隐藏属性
attrib -r file.txt               # 取消只读属性
attrib +r +h secret.txt          # 设置只读和隐藏
attrib /s *.txt                  # 显示所有txt文件属性

通配符

通配符 说明 示例
* 匹配任意字符 *.txt - 所有txt文件
? 匹配单个字符 file?.txt - file1.txt, file2.txt

示例

Text Only
1
2
3
dir *.exe                        # 所有exe文件
del file*.txt                    # 删除file开头的txt文件
dir doc?.txt                     # doc1.txt, doc2.txt等

实用技巧

批量重命名

Text Only
ren *.jpg *.jpeg                 # 修改所有jpg为jpeg

查找大文件

Text Only
dir /s /o:-s                     # 按大小排序(最大在前)

统计文件数量

Text Only
dir /b *.txt | find /c /v ""     # 统计txt文件数量

复制并保留目录结构

Text Only
xcopy C:\Source D:\Dest /s /e /t  # 只复制目录结构

合并文本文件

Text Only
copy file1.txt+file2.txt+file3.txt merged.txt
type *.txt > all.txt             # 合并所有txt文件

参考资料