Skip to content

Windows:文件、目录与磁盘 ​

浏览目录、切换位置与保存目录栈 ​

以下大部分是 cmd 命令。先用 dir/tree 查看,再用 cd 进入目录;pushd/popd 用于临时切换并返回,subst 映射虚拟盘符。

dir(Windows) · 列出目录的内容 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/dir。

  • 显示当前目录的内容:
bash
dir
  • 显示指定目录的内容:
bash
dir {{目录的路径}}
  • 显示当前目录的内容,包括隐藏的文件:
bash
dir /A
  • 显示指定目录的内容,包括隐藏的文件:
bash
dir {{目录的路径}} /A

tree(Windows) · 以目录树的形式显示指定目录的所有文件夹和文件 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/tree。

  • 显示当前目录的目录树:
bash
tree
  • 显示指定目录的目录树:
bash
tree {{目录的路径}}
  • 显示目录中文件的目录树:
bash
tree {{目录的路径}} /f
  • 使用 ASCII 字符而不是扩展字符显示目录树:
bash
tree {{目录的路径}} /a

cd(Windows) · 显示当前工作目录或移动到其他工作目录 ​

在 PowerShell 中,此命令是“Set-Location”的别名。本文档基于的是命令提示符(cmd)版本的。 更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/cd。

  • 原命令的文档在:
bash
tldr set-location
  • 显示当前目录的路径:
bash
cd
  • 访问当前硬盘的某一个特定目录:
bash
cd {{path\to\directory}}
  • 转到位于另一驱动器上的特定目录:
bash
cd /d {{C}}:{{path\to\directory}}
  • 访问当前目录的上级目录:
bash
cd ..
  • 访问当前用户的主目录:
bash
cd %userprofile%
  • 访问当前驱动器的根目录:
bash
cd \

pushd(Windows) · 将目录储存在栈顶以便稍后访问 ​

另请参阅:popd。 更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/pushd。

  • 切换目录并将它放至栈:
bash
pushd {{目录}}

popd(Windows) · 将当前目录切换到pushd命令存储的目录 ​

另请参阅:pushd。 更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/popd。

  • 切换到储存在栈顶的目录:
bash
popd

subst(Windows) · 将路径与虚拟驱动器号关联 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/subst。

  • 列出已激活的关联:
bash
subst
  • 添加一个关联:
bash
subst {{Z:}} {{C:\Python2.7}}
  • 删除一个关联:
bash
subst {{Z:}} /d

explorer(Windows) · Windows 文件资源管理器 ​

更多信息:https://ss64.com/nt/explorer.html。

  • 打开 Windows 文件资源管理器:
bash
explorer
  • 在当前目录打开 Windows 文件资源管理器:
bash
explorer .
  • 在指定目录打开 Windows 文件资源管理器:
bash
explorer {{路径\到\目录}}

读取内容、分页搜索与复制到剪贴板 ​

type 输出文件,more 分页,find 检索字符串,clip 接收输出到剪贴板。

type(Windows) · 显示文件的内容 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/type。

  • 显示特定文件的内容:
bash
type {{文件的路径}}

more(Windows) · 分页显示标准输入或文件的输出 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/more。

  • 分页显示标准输入的输出:
bash
{{echo test}} | more
  • 分页显示一个或多个文件的内容:
bash
more {{文件的路径}}
  • 将制表符转换为指定的空格数:
bash
more {{文件的路径}} /t{{空格数}}
  • 显示内容前先清屏:
bash
more {{文件的路径}} /c
  • 从第 5 行开始显示输出:
bash
more {{文件的路径}} +{{5}}
  • 启用扩展交互模式(请参阅使用帮助):
bash
more {{文件的路径}} /e
  • 显示全部帮助信息:
bash
more /?

find(Windows) · 在一个或多个文件里查找指定字符串 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/find。

  • 查找包含指定字符串的行:
bash
find "{{字符串}}" {{文件或目录的路径}}
  • 查找不包含指定字符串的行:
bash
find "{{字符串}}" {{文件或目录的路径}} /v
  • 显示包含指定字符串的行的总数:
bash
find "{{字符串}}" {{文件或目录的路径}} /c
  • 显示匹配行及其行号:
bash
find "{{字符串}}" {{文件或目录的路径}} /n

clip(Windows) · 将输入的内容复制到 Windows 的剪贴板 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/clip。

  • 用管道将命令的输出内容复制到 Windows 剪贴板:
bash
{{dir}} | clip
  • 将一个文件中的内容复制到 Windows 剪贴板:
bash
clip < {{文件的路径}}

创建、复制、批量选择与删除 ​

mkdir 创建目录,xcopy 复制树,forfiles 按条件选择文件并执行命令;del 删除文件,rmdir 删除目录,mklink 创建链接。

mkdir(Windows) · 创建一个目录 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/mkdir。

  • 创建一个目录:
bash
mkdir {{目录名}}
  • 递归创建目录及子目录:
bash
mkdir {{子目录名}}

xcopy(Windows) · 复制文件和目录树 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/xcopy。

  • 复制文件到指定的路径:
bash
xcopy {{被复制的目录路径}} {{目标路径}}
  • 列出在复制前将要被复制的文件:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /l
  • 仅复制目录结构,不包括文件:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /t
  • 复制时包含空目录:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /e
  • 复制文件时保留 ACL 信息:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /o
  • 网络连接丢失时允许恢复:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /z
  • 当文件存在于目标路径中时禁用提示:
bash
xcopy {{文件或目录的路径}} {{目标路径}} /y
  • 显示详细的使用帮助:
bash
xcopy /?

forfiles(Windows) · 选择一个或多个文件以执行指定的命令 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/forfiles。

  • 在当前的目录中寻找文件:
bash
forfiles
  • 在一个指定目录中寻找文件:
bash
forfiles /p {{目录的路径}}
  • 为每个文件执行指定的命令:
bash
forfiles /c "{{命令}}"
  • 使用通配符来寻找指定的文件:
bash
forfiles /m {{通配符}}
  • 递归寻找文件:
bash
forfiles /s
  • 搜索超过 5 天的文件:
bash
forfiles /d -{{5}}

mklink(Windows) · 创建符号链接 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/mklink。

  • 创建指向文件的符号链接:
bash
mklink {{链接文件的路径}} {{源文件路径}}
  • 创建指向目录的符号链接:
bash
mklink /d {{链接文件的路径}} {{源目录路径}}
  • 创建指向文件的硬链接:
bash
mklink /h {{链接文件的路径}} {{源目录路径}}
  • 创建目录链接:
bash
mklink /j {{链接文件的路径}} {{源目录路径}}

del(Windows) · 删除一个或多个文件 ​

在 PowerShell 中,此命令为 Remove-Item 的別名。本页的描述是基于命令提示符 (cmd) 中的 del。 更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/del。

  • 查阅 PowerShell 的对应命令:
bash
tldr remove-item
  • 删除一个或多个文件 (可使用通配符):
bash
del {{文件1 文件2 ...}}
  • 在删除每个文件之前提示确认:
bash
del {{文件}} /p
  • 强制删除只读文件:
bash
del {{文件}} /f
  • 递归删除所有子目录中的文件:
bash
del {{文件}} /s
  • 在基于全局通配符删除文件时不提示确认:
bash
del {{文件}} /q
  • 根据指定的属性删除文件:
bash
del {{文件}} /a {{属性}}
  • 显示帮助和所有的属性列表:
bash
del /?

rmdir(Windows) · 删除目录及其内容 ​

在 PowerShell 中,此命令是 Remove-Item 的别名。此文档基于 cmd 版本的 rmdir。 更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/rmdir。

  • 查看等效的 PowerShell 命令的文档:
bash
tldr remove-item
  • 删除一个空目录:
bash
rmdir {{路径\到\目录}}
  • 递归删除目录及其内容:
bash
rmdir {{路径\到\目录}} /s
  • 递归删除目录及其内容,无需提示:
bash
rmdir {{路径\到\目录}} /s /q

管理属性、所有权、加密与完整性 ​

属性、所有者、NTFS 加密和系统文件修复分别查阅对应命令。Get-FileHash 是 PowerShell 命令,与本页 cmd 命令的运行环境不同。

attrib(Windows) · 显示或修改文件和目录的属性 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/attrib。

  • 显示当前目录下所有文件的属性:
bash
attrib

takeown(Windows) · 取得文件或目录的所有权 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/takeown。

  • 取得指定文件的所有权:
bash
takeown /f {{路径/文件}}
  • 取得指定目录的所有权:
bash
takeown /f {{路径/目录}}
  • 取得指定目录和所有子目录的所有权:
bash
takeown /f {{路径/目录}} /r
  • 将所有权更改为管理员组,而不是当前用户:
bash
takeown /a /f {{路径/文件}}

cipher(Windows) · 加密或解密 NTFS 驱动器上的文件 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/cipher。

  • 加密文件或目录:
bash
cipher /e:{{路径/文件或目录}}
  • 解密文件或目录:
bash
cipher /d:{{路径/文件或目录}}
  • 覆盖指定目录所在卷的未分配空间;不删除该目录中现存文件:
bash
cipher /w:{{卷内目录}}

Get-FileHash(Windows) · 计算一个文件的 HASH 值 ​

更多信息:https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/get-filehash。

  • 使用 SHA256 算法计算给定文件的哈希值:
bash
Get-FileHash {{文件路径}}
  • 使用指定的哈希算法计算给定文件的哈希值:
bash
Get-FileHash {{文件路径}} -Algorithm {{SHA1|SHA384|SHA256|SHA512|MD5}}

sfc(Windows) · 扫描 Windows 系统文件的完整性 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/sfc。

  • 扫描所有的系统文件,如果可能的话,修复所有出现的问题:
bash
sfc /scannow
  • 扫描系统文件,但不修复出现的问题:
bash
sfc /verifyonly
  • 扫描指定的文件,如果可能的话,修复所有出现的问题:
bash
sfc /scanfile={{文件的路径}}
  • 扫描指定的文件,但不修复出现的问题:
bash
sfc /verifyfile={{文件的路径}}
  • 当离线修复时,指定引导目录:
bash
sfc /offbootdir={{目录的路径}}
  • 当离线修复时,指定 Windows 目录:
bash
sfc /offwindir={{文件的路径}}
  • 显示命令的使用方法:
bash
sfc

查看和修改扩展名关联 ​

assoc 管理扩展名与文件类型的映射,ftype 管理文件类型对应的打开命令,两者配合查阅。

assoc(Windows) · 显示或修改文件扩展名关联 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/assoc。

  • 显示所有当前文件扩展名关联的列表:
bash
assoc
  • 显示指定扩展名的关联文件类型:
bash
assoc {{.txt}}
  • 将文件扩展名与特定的文件类型关联:
bash
assoc {{.txt}}={{txtfile}}

ftype(Windows) · 显示或修改用于文件扩展名关联的文件类型 ​

更多信息:https://learn.microsoft.com/windows-server/administration/windows-commands/ftype。

  • 显示所有文件类型的列表:
bash
ftype
  • 显示特定文件类型的关联程序:
bash
ftype {{文件类型}}
  • 设置特定文件类型的关联程序:
bash
ftype {{文件类型}}="{{可执行命令的路径}}"

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读