powershell - 如何在 Powershell 中为 Format-Table 创建别名?

标签 powershell

假设我有一个 Powershell Format-Table 字符串,类似于:

ls | Format-Table Name, @{expression={$_.Length / 1024}; label='KB'}

我对由此获得的输出感到满意,但我不想每次使用它时都输入它。我希望能够用一个简单的单字命令来调用它,例如:

ls | Format-KiloBytes

我想我应该为此定义一个函数,因为别名不能指定参数。但是,如果我定义如下内容:

function kilobytes {format-table Name, @{expression={$_.Length / 1024}; label='KB'}}

那么它就没有任何作用了:

PS> ls | format-table Name, @{expression={$_.Length / 1024}; label='KB'}
   ... Produces the formatted output

PS> ls | kilobytes
   ... Produces output with unchanged formatting, the same as 'ls'

编辑:看来我很困惑。在试验时,我已经创建了一个别名 kilobytes,别名为 Format-Table。我忘记了这一点,但这意味着创建函数 kilobytes 在没有任何警告的情况下成功,但随后调用 kilobytes 并不是调用新创建的函数,而是调用现有的别名.

最佳答案

首先你可以试试:

function kilobytes {$input | format-table Name, @{expression={$_.Length / 1024}; label='KB'}}

可以在about_Functions中找到$input的解释.当您在管道中使用函数时,通过管道传输到该函数的对象将分配给 $input 自动变量。

关于powershell - 如何在 Powershell 中为 Format-Table 创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999085/

相关文章:

powershell - 使用Powershell为AD中的每个用户检索管理器名称

powershell - 数组行索引函数

powershell - 获取远程设备的 Chrome 版本

azure - 使用 Get-AzLocation 选择特定的 Azure 位置

json - Powershell 7.2 : ConvertFrom-Json - Date Handling

powershell - 如果出现错误,我如何使用 try...catch 并让我的脚本停止?

azure - 如何从 PowerShell 停止/启动 Azure Function

PowerShell循环性能: why does adding a function call make this loop faster?

arrays - 使用 powershell 从文本文件中的值创建数组

powershell - Powershell和BizTalk