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

时间:2009-05-25 03:32:48

标签: windows batch-file cmd mkdir

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

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

6 个答案:

答案 0 :(得分:38)

如果启用了命令扩展,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的行为: - )

答案 1 :(得分:31)

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

mkdir a\b\c

答案 2 :(得分:8)

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

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

答案 3 :(得分:4)

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

答案 4 :(得分:3)

我今天只是尝试创建多个文件夹,并且可以正常工作!

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

答案 5 :(得分:0)

默认情况下,

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