我一直在关注学习如何在PowerShell中使用命令行界面的Learn Code the Hard Way的教程。在this文章中,它告诉我使用命令mkdir -p i\like\icecream
。在底部,它解释“即使所有目录都不存在,”mkdir -p
也会创建一个完整的路径。“
我很困惑,因为没有mkdir i\like\icecream
参数的-p
仍然做同样的事情。我已经尝试并完成了诸如创建“one”目录,然后使用mkdir
创建“one \ two \ three”之类的东西,它将自动创建一个两个目录,以便放入三个.TowerShell会自动假设-p
或类似的情况?我对这个论点的作用感到茫然。
答案 0 :(得分:14)
即使您没有完全提供,PowerShell也会尽力确定您的意思。因此,如果您使用-p
参数,则实际上使用的是-path
。
对于mkdir函数,-path
参数告诉函数创建的路径。如果没有提供显式参数,-path
默认情况下也是函数的第一个参数。因此,使用-p
(-path
)和不使用-p
调用函数与函数相关的内容完全相同。
有关更多信息,请在shell类型中:
Get-Help mkdir
我还要澄清一下,当你调用mkdir时,你真正在做的是调用New-Item cmdlet并将-ItemType参数指定为Directory。这就是您在运行该命令时看到New-Item帮助的原因。如果您想查看mkdir函数的实际代码以了解它是如何执行此操作的,请执行以下操作:
(get-command mkdir).ScriptBlock
答案 1 :(得分:0)
如果我们使用创建目录,
而