75

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

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

4

6 回答 6

60

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

@echo off
setlocal enableextensions
md %1
endlocal

扩展:

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

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

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

几乎我写的每一个cmd脚本都是这样开始的:

setlocal enableextensions enabledelayedexpansion

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

于 2009-05-25T03:39:08.253 回答
57

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

mkdir a\b\c

于 2009-05-25T03:38:20.843 回答
14

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

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

于 2016-08-29T14:27:48.570 回答
6

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

于 2016-08-04T07:08:01.130 回答
5

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

于 2019-06-16T17:29:33.340 回答
3

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

mkdir "templates" "static/css" "static/js"
于 2020-05-06T08:00:12.653 回答