2

我想设置一个别名来列出目录中的文件,但Set-Alias -name lf -value ls -file似乎不起作用。我打算使用 Unix 别名方式。

4

3 回答 3

9

别名无法做到这一点。从帮助Set-Alias

您可以为 cmdlet 创建别名,但不能为包含 cmdlet 及其参数的命令创建别名。

然而,使用一种叫做“splatting”的技术,一个函数可以很容易地做到这一点:

function lf {
  ls -file @args
}

有关详细信息,请参阅help about_splatting

于 2013-09-24T04:32:14.847 回答
0

示例 5 fromGet-Help Set-Alias -Full是您想要的:

Function lsfile {Get-Childitem -file}
Set-Alias lf lsfile
于 2013-09-23T23:18:53.560 回答
0

附加到来自@mike-z 的答案。

您可以将函数定义放入 PowerShell 配置文件中,以便可以再次打开 shell 重用它。

test-path $profile
// Ensure it doesn't exists before creating the profile!
new-item -path $profile -itemtype file -force
notepad $profile

只需将代码放入文件中:

function lf { ls -file @args }

您可以从官方文档中查看详细信息。

于 2016-02-24T03:51:42.630 回答