gpt4 book ai didi

powershell - mkdir 与 New-Item ,它是相同的 cmdlet 吗?

转载 作者:行者123 更新时间:2023-12-04 02:32:23 31 4
gpt4 key购买 nike

我发现有两个不同的 cmdlet:New-Itemmkdir , 首先我在想 mkdirNew-Item 的别名之一,但它不是:enter image description here

尝试获取它的别名,它是 mdmkdirniNew-Item :

所以我有点困惑,这些 cmdlet 之间有什么区别,因为 powershell 引用给了我几乎相同的页面: mkdir , New-Item
但是New-ItemMicrosoft.PowerShell.ManagementmkdirMicrosoft.PowerShell.Core ,但做同样的事情(或不这样做?)!为什么powershell中有两个相同的cmdlet?

最佳答案

New-Item是一个 cmdlet,在程序集中定义,它创建新对象 - 文件和目录。 mkdir是一个调用 New-Item 的函数专门创建目录。提供给熟悉Windows CMD或unix shell命令的shell用户mkdir
查看mkdir的定义使用 Get-Content Function:\mkdir .可以看到它调用了New-Item在幕后,经过一些参数和管道管理。使用 PS 5.0:

$wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('New-Item', [System.Management.Automation.CommandTypes]::Cmdlet)
$scriptCmd = {& $wrappedCmd -Type Directory @PSBoundParameters }

以下两个命令都会创建一个名为 foo 的新目录在 C:\ 的根目录中.第二种形式对于来自其他 shell 的人来说是熟悉的(而且打字更短)。第一种形式是惯用的 PowerShell。
PS> New-Item -Path C:\foo -Type Directory
PS> mkdir C:\foo

因为 mkdir硬编码 -Type Directory参数,它只能用于创建目录。没有等效的 mkfile内置功能。要创建文件,请使用 New-Item -Type File ,或其他 cmdlet,例如 Out-File .

关于powershell - mkdir 与 New-Item ,它是相同的 cmdlet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50832054/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com