Powershell参数错误'p'

mah*_*der 4 windows powershell

我试着输入这个命令

mkdir -p lol\hit\xx
Run Code Online (Sandbox Code Playgroud)

但我收到一条错误消息

mkdir: Parameter cannot be processed because the parameter name 'p' is ambiguous.
Run Code Online (Sandbox Code Playgroud)

我在线跟踪教程,据此,不应该有任何错误.这背后的原因是什么?

The*_*ian 9

mkdir,在PowerShell中运行时,作为New-Item的别名运行.这可以通过Get-Help mkdir在PowerShell中运行来看出.

在这种情况下,-p是不明确的,因为它可能是New-Item 的-Path或者-PipelineVariable参数.我相信你想要的是:

mkdir -path lol\hit\xx
Run Code Online (Sandbox Code Playgroud)

这将在您当前位置创建lol文件夹,并在其中创建命中文件夹,以及其中的xx文件夹.

Unix中mkdir的-p开关强制命令创建到达你指定路径所需的所有文件夹(所以如果你只有'lol'那么它会在其中创建'hit'文件夹,然后创建'xx ''hit'文件夹中的文件夹).PowerShell的New-Item默认执行此操作.