mkdir
在 PowerShell 中返回默认打印的创建目录。在交互式 PowerShell 会话中,我对这种默认设置感到有些不安。当然,我可以通过将输出重定向到以下位置来关闭打印$null
:
mkdir $env:temp\foo > $null
由于我不想在每次创建目录时都编写重定向,所以我想知道是否可以设置一个选项来防止 cmdlet 在交互式 PowerShell 会话期间返回对象。
mkdir
在 PowerShell 中返回默认打印的创建目录。在交互式 PowerShell 会话中,我对这种默认设置感到有些不安。当然,我可以通过将输出重定向到以下位置来关闭打印$null
:
mkdir $env:temp\foo > $null
由于我不想在每次创建目录时都编写重定向,所以我想知道是否可以设置一个选项来防止 cmdlet 在交互式 PowerShell 会话期间返回对象。
由于
mkdir
是一个环绕 的函数New-Item
,因此您可以通过从 获取该函数来编辑该函数,对其进行function PSProvider
更改并保存。此命令向您显示运行时执行的内容
mkdir
:然后,您可以实际更改脚本块并再次保存。
mkdir
环绕的线New-Item
是这个:$scriptCmd = {& $wrappedCmd -Type Directory @PSBoundParameters }
所以我们可以在其中添加一个
| Out-Null
,它就会产生魔力。所有其他输出抑制方法,例如:null =
> null
[void]
在这种情况下不起作用,因为 Microsoft
steppablePipeline
在创建此函数时使用了 a。这给我们留下了这段代码:
我把它放在一个函数中,让你把它放在你的PowerShell Profile中,因为当你关闭并重新打开 PowerShell 时,这个方法不会持续存在。如果将其放入配置文件中,则可以在需要时在交互式 PowerShell 会话中运行它。
您可以在您的个人资料中为这些功能添加别名,并且仅在您确实需要时才运行它们,例如:
编辑:
如果您想恢复“旧”
mkdir
,您只需要切换.Replace()
参数并再次运行它,这是另一个功能: