Skip to content

文件管理

文件属性

attrib - 文件属性管理

cmd
attrib file.txt                    # 查看属性
attrib +r file.txt                 # 设置只读
attrib -r file.txt                 # 取消只读
attrib +h file.txt                 # 设置隐藏
attrib -h file.txt                 # 取消隐藏
attrib +s file.txt                 # 设置系统属性
attrib -s file.txt                 # 取消系统属性
attrib +r +h file.txt              # 设置多个属性
attrib -r -h -s file.txt           # 取消多个属性
attrib /s /d +h C:\folder\*        # 递归设置目录属性

属性说明:

属性说明
R只读
H隐藏
S系统
A存档
I非内容索引

icacls - 文件权限管理

cmd
icacls file.txt                    # 查看权限
icacls file.txt /grant User:F      # 授予完全控制
icacls file.txt /grant User:R      # 授予读取权限
icacls file.txt /grant User:W      # 授予写入权限
icacls file.txt /grant User:M      # 授予修改权限
icacls file.txt /deny User:W       # 拒绝写入
icacls file.txt /remove User       # 移除用户权限
icacls file.txt /reset             # 重置权限
icacls folder /grant User:(OI)(CI)F  # 继承权限
icacls folder /inheritance:r       # 移除继承权限
icacls folder /inheritance:d       # 禁用继承
icacls folder /inheritance:e       # 启用继承

权限代码:

代码权限
F完全控制
M修改
RX读取和执行
R只读
W写入
OI对象继承
CI容器继承

文件比较

fc - 文件比较

cmd
fc file1.txt file2.txt             # 比较文件
fc /b file1.bin file2.bin          # 二进制比较
fc /a file1.txt file2.txt          # 简化输出
fc /l file1.txt file2.txt          # ASCII 比较
fc /n file1.txt file2.txt          # 显示行号
fc /c file1.txt file2.txt          # 忽略大小写
fc /u file1.txt file2.txt          # Unicode 比较

comp - 文件比较

cmd
comp file1.txt file2.txt           # 比较文件
comp /a file1.txt file2.txt        # 显示差异
comp /l file1.txt file2.txt        # 显示行号
comp /n=10 file1.txt file2.txt     # 只比较前10行

文件校验

certutil - 文件校验

cmd
certutil -hashfile file.txt MD5    # 计算 MD5
certutil -hashfile file.txt SHA1   # 计算 SHA1
certutil -hashfile file.txt SHA256 # 计算 SHA256
certutil -hashfile file.txt SHA512 # 计算 SHA512

文件搜索

dir 搜索

cmd
dir /s /b *.txt                    # 递归搜索 txt 文件
dir /s /b | findstr "pattern"      # 搜索包含模式的文件
dir /s /a-d                        # 只显示文件
dir /s /ad                         # 只显示目录
dir /s /o-s                        # 按大小降序
dir /s /o-d                        # 按日期降序

for 循环搜索

cmd
for /r C:\ %f in (*.txt) do @echo %f    # 递归搜索
for %f in (*.txt) do @echo %f           # 当前目录
for /d %d in (*) do @echo %d            # 只搜索目录

文件压缩

compact - NTFS 压缩

cmd
compact                            # 查看压缩状态
compact /c file.txt                # 压缩文件
compact /u file.txt                # 解压文件
compact /c /s folder               # 压缩目录及子目录
compact /u /s folder               # 解压目录及子目录
compact /a                         # 显示隐藏文件

makecab - 创建 CAB 压缩包

cmd
makecab file.txt file.cab          # 压缩单个文件
makecab /f list.txt                # 压缩多个文件

expand - 解压 CAB 文件

cmd
expand file.cab -f:* C:\output     # 解压所有文件
expand file.cab file.txt           # 解压单个文件

文件关联

assoc - 文件扩展名关联

cmd
assoc                              # 显示所有关联
assoc .txt                         # 查看 txt 关联
assoc .txt=txtfile                 # 设置关联
assoc .py=Python.File              # 设置 Python 关联
assoc .txt=                        # 删除关联

ftype - 文件类型关联

cmd
ftype                              # 显示所有类型
ftype txtfile                      # 查看 txtfile 类型
ftype txtfile=notepad.exe %1       # 设置关联程序
ftype Python.File="C:\Python\python.exe" "%1" %*

文件系统

fsutil - 文件系统工具

cmd
fsutil volume diskfree C:          # 查看磁盘空间
fsutil volume list                 # 列出卷
fsutil file queryfileid C:\file.txt  # 查询文件 ID
fsutil file seteof C:\file.txt 1000   # 设置文件大小
fsutil fsinfo volumeinfo C:        # 卷信息
fsutil fsinfo ntfsinfo C:          # NTFS 信息
fsutil behavior query disablelastaccess  # 查询最后访问时间设置

chkdsk - 磁盘检查

cmd
chkdsk C:                          # 检查磁盘
chkdsk C: /f                       # 修复错误
chkdsk C: /r                       # 检查坏扇区
chkdsk C: /x                       # 强制卸载卷
chkdsk C: /f /r                    # 完整检查修复

文件共享

net share - 共享管理

cmd
net share                          # 列出共享
net share sharename                # 查看共享信息
net share sharename=C:\folder      # 创建共享
net share sharename=C:\folder /grant:User,FULL  # 带权限创建
net share sharename /delete        # 删除共享
net share sharename /users:10      # 限制用户数
net share sharename /remark:"描述" # 添加描述

net use - 网络驱动器

cmd
net use                            # 列出连接
net use Z: \\server\share          # 映射驱动器
net use Z: \\server\share /user:domain\user password
net use Z: /delete                 # 删除映射
net use * /delete                  # 删除所有映射
net use Z: /persistent:yes         # 永久映射
net use Z: /persistent:no          # 临时映射

批量文件操作

for 循环批量操作

cmd
for %f in (*.txt) do copy "%f" "backup\%f"    # 批量复制
for %f in (*.log) do del "%f"                 # 批量删除
for %f in (*.txt) do ren "%f" "%~nf.bak"      # 批量重命名
for /r %f in (*.tmp) do del "%f"              # 递归删除
for /d %d in (*) do @echo %d                  # 遍历目录

for 循环变量扩展

变量说明
%~f完整路径
%~d驱动器
%~p路径
%~n文件名
%~x扩展名
%~s短文件名
%~a属性
%~t时间
%~z大小
cmd
for %f in (*.txt) do echo %~nf       # 只显示文件名
for %f in (*.txt) do echo %~xf       # 只显示扩展名
for %f in (*.txt) do echo %~dpf      # 显示驱动器和路径
for %f in (*.txt) do echo %~zf       # 显示文件大小

文件监控

for 循环监控文件变化

cmd
:loop
for %%f in (*.txt) do (
    echo Found: %%f
)
timeout /t 5 >nul
goto loop

临时文件管理

临时文件位置

cmd
echo %TEMP%                        # 用户临时目录
echo %TMP%                         # 同上
echo %SystemRoot%\Temp             # 系统临时目录

清理临时文件

cmd
del /q %TEMP%\*                    # 删除用户临时文件
del /q %SystemRoot%\Temp\*         # 删除系统临时文件
for /d %d in (%TEMP%\*) do rd /s /q "%d"  # 删除临时目录

回收站管理

通过 PowerShell 管理回收站

powershell
Clear-RecycleBin -Force            # 清空回收站
Clear-RecycleBin -DriveLetter C    # 清空指定驱动器回收站

文件锁定

查看文件被谁占用

cmd
openfiles /query                   # 查看打开的文件
openfiles /query /v                # 详细信息
openfiles /disconnect /id 123      # 断开连接

需要先启用:

cmd
openfiles /local on                # 启用

符号链接

cmd
mklink link.txt target.txt         # 创建符号链接
mklink /d linkdir targetdir        # 创建目录符号链接
mklink /h link.txt target.txt      # 创建硬链接
mklink /j linkdir targetdir        # 创建目录连接

链接类型对比

类型说明
符号链接类似快捷方式,可跨卷
硬链接指向相同数据,不能跨卷
目录连接目录的符号链接

下一步学习