什么相当于 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
。
mkdir
和 md
在 Windows 中是一样的。
除非你碰巧有一些 GNUWin32 的东西在你的路上。然后,奇怪的是,使用 mkdir 调用了 GNU mkdir(我花了一段时间才知道为什么我不能再创建文件夹树了......):-)以上是关于什么相当于 Windows 中的 Linux mkdir -p?的主要内容,如果未能解决你的问题,请参考以下文章
Windows 命令行相当于 Linux 中的“时间”? [复制]