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

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

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

【问题讨论】:

    标签: windows batch-file cmd mkdir


    【解决方案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(我花了一段时间才知道为什么我不能再创建文件夹树了......):-)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        相关资源
        最近更新 更多