系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

md

创建目录,并在命令扩展下自动补齐中间层级。

补充说明

md(同 mkdir)创建一个目录,默认启用命令扩展时可以一次创建多层路径,例如 md D:\a\b\c 会补齐 a、b、c。它常用于脚本里准备输出目录、日志目录或临时工作区,也可以在共享路径上建目录(需有写权限)。

边界:md 只建目录,不建文件、不覆盖已有路径;目标已存在时报“子目录或文件已存在”。目录删除用 rd,列目录用 dir。父目录的 ACL 决定新建目录继承什么权限;如果父目录拒绝写入,md 会直接失败,不会自动提权。路径末尾的点和空格会被 Win32 规范化掉,设备保留名也不能用作目录名。

Windows 10/11 与 Server 2016+ 的 md 行为一致;命令扩展默认开启,用 cmd /e:off 关闭后就必须逐层创建。PowerShell 中 md/mkdir 最终由 New-Item -ItemType Directory 实现,md C:\a\b 虽然可用,但错误处理和返回对象与 CMD 不同。

常用示例

# 1. 建一个带日期的备份目录
C:\> md C:\backup\2026-10-22

# 2. 路径含空格时加引号,一次补齐中间层级
C:\> md "C:\Work Files\Project A\logs"

# 3. 在脚本里幂等创建,避免重复执行时报错
C:\> if not exist "C:\logs" md "C:\logs"

# 4. 在网络共享上建团队目录,前提是账号有写权限
C:\> md \\fileserver\share\team\new

# 5. 建完立即进入该目录继续操作
C:\> md C:\temp\reports & cd /d C:\temp\reports

# 6. 确认目录确实建在预期层级
C:\> dir /A:D "C:\Work Files"

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. md D:\a\b\c 在什么条件下能一次建出三层目录?
  2. 脚本重复执行 md C:\logs 为什么会报错?怎样写得更稳?
  3. 为什么 md "C:\temp\name." 建出来的目录名可能不带点?
答案
  1. 命令扩展开启时(默认开启);关闭后必须逐层创建。
  2. 目录已存在会报错;用 if not exist "C:\logs" md "C:\logs" 先判断。
  3. Win32 会去掉路径末尾的点和空格,真实名称需用 dir /A /X 查看。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令