什么相当于 Windows 中的 Linux mkdir -p?

Posted

技术标签:

【中文标题】什么相当于 Windows 中的 Linux mkdir -p?【英文标题】:What is equivalent to Linux mkdir -p in Windows? 【发布时间】:2010-10-28 15:51:00 【问题描述】:

在 Linux 中,mkdir -p 创建一个文件夹树。

在 Windows 中创建文件夹树的等效选项是什么?有吗?

【问题讨论】:

【参考方案1】:

我今天只是尝试创建多个文件夹,它正在工作!

mkdir "templates" "static/css" "static/js"

【讨论】:

【参考方案2】:

mkdir 默认创建所有中间目录。只需确保使用“\”作为分隔符即可。

【讨论】:

你的回答有什么好处。已经有相同陈述的答案(最长十年)。 我没有看到有人提到 mkdir 必须使用反斜杠才能表现得像 'linux mkdir -p' (可能是因为它是假设的),他们只是说在 windows mkdir 制作中间目录默认。我的答案是针对那些可能使用过“/”并看到目录未创建的人。 我想这或多或少是@AnupThakare 的答案。 当你不使用反斜杠时,你需要引号【参考方案3】:

当我尝试使用以下方法创建目录时,出于一个奇怪的原因;

mkdir src/main/java/main/resources 

不行,我只好用双引号把路径括起来,如下图;

mkdir "src/main/java/main/resources"

此外,unix 允许这样做;

mkdir -p src/main/java src/main/resources

下面会创建两个分支,相当于windows上的;

mkdir "src/java/resources" "src/main/resources"

src
-----java
-------resources
-----main
-------resources

我希望这会有所帮助! xox

【讨论】:

双引号在使用 ConEmu 的 Windows 10 中为我工作。 +1!【参考方案4】:

如果您想使用正斜杠,只需在双引号内给出您想要的目录结构。 mkdir "org/frame/bu/fed/config"

【讨论】:

【参考方案5】:

如果启用了命令扩展,Windows mkdir 会自动执行此操作。它们几乎出现在我用过的每个盒子上,但如果没有,您可以创建自己的脚本来执行此操作:

@echo off
setlocal enableextensions
md %1
endlocal

扩展:

命令扩展是 cmd.exe 的一项附加功能,它允许您做更多事情(以与批处理语言的早期版本稍微兼容为代价)。

Windows XP cmd.exe 应该默认启用这些扩展,但您可以配置您的机器,使其默认禁用(使用"cmd /e:off" 作为默认处理器)。如果您这样做并且想要使用扩展,您的 cmd 文件必须有一个 setlocal 才能重新打开它们。

上面的脚本可以被称为 md2.cmd ,然后您可以保证能够使用"md2 a\b\c" 创建多个目录级别,而不必担心是否启用了扩展。

我写的几乎每一个cmd 脚本都以:

setlocal enableextensions enabledelayedexpansion

以确保我尽可能接近我心爱的bash 的行为:-)

【讨论】:

你能解释一下这个答案比只运行md 更好吗? @notfed,如果命令扩展因某种原因禁用,md 不会创建整个路径。这就是我在答案中给出的情况,你需要一个脚本来临时启用它们。【参考方案6】:

在 Windows 中,mkdir 默认创建目录树。

mkdir a\b\c

【讨论】:

我想你想输入 md 而不是 mkdir mkdirmd 在 Windows 中是一样的。 除非你碰巧有一些 GNUWin32 的东西在你的路上。然后,奇怪的是,使用 mkdir 调用了 GNU mkdir(我花了一段时间才知道为什么我不能再创建文件夹树了......):-)

以上是关于什么相当于 Windows 中的 Linux mkdir -p?的主要内容,如果未能解决你的问题,请参考以下文章

Windows 命令行相当于 Linux 中的“时间”? [复制]

linux .o,.a,.so文件区别是什么

u-boot-2015.07 autoconf.mk生成过程分析

linux系统终端 是干啥的?

MK 圆 - 笔画宽度相当于米

三.linux基本的50条命令