首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mkdir和mkdir -p之间的区别?

mkdir和mkdir -p之间的区别?
EN

Stack Overflow用户
提问于 2012-10-23 03:22:17
回答 2查看 15.6K关注 0票数 11

我一直在学习“学习代码”的教程,了解如何在PowerShell中使用命令行界面。在this文章中,它告诉我使用命令mkdir -p i\like\icecream。在底部,它解释说“即使所有目录都不存在,mkdir -p也会生成一个完整的路径。”

我很困惑,因为没有-p参数的mkdir i\like\icecream仍然做同样的事情。我已经做了一些实验和工作,比如创建一个“一”目录,然后用mkdir创建“一\二\三”,它会自动创建一个二目录来放置三个。在这种情况下,PowerShell是否会自动假定为-p或其他什么?我对这个论点的作用感到困惑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-23 03:29:26

PowerShell会尽最大努力确定您想要的参数,即使您没有给出完整的参数。因此,如果使用-p参数,则实际使用的是-path

对于mkdir函数,-path参数告诉函数要创建的路径。如果未提供显式参数,则默认情况下,-path也是函数的第一个参数。因此,就函数而言,使用-p (-path)和不使用-p调用函数是完全相同的。

有关详细信息,请在shell类型中:

代码语言:javascript
复制
Get-Help mkdir

我还将澄清,当您调用mkdir时,您真正要做的是调用New-Item cmdlet并将-ItemType参数指定为Directory。这就是当您运行该命令时看到New-Item帮助的原因。如果您想查看mkdir函数的实际代码以了解它是如何做到这一点的,请执行以下操作:

代码语言:javascript
复制
(get-command mkdir).ScriptBlock
票数 15
EN

Stack Overflow用户

发布于 2018-09-05 20:57:24

如果我们使用以下命令创建目录,

  • mkdir,如果该目录已经存在,mkdir将抛出异常,因此我们需要在通过相同路径

创建目录之前进行检查

鉴于

  • mkdirp,mkdirp始终自动检查指定路径上的目录是否存在,因此无需执行任何检查。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13018305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档