“|”的别名foreach { “$_”; }”在 PowerShell 中

发布于 2024-11-24 14:17:53 字数 395 浏览 1 评论 0原文

我喜欢使用以下代码来模拟 Unix“查找”行为:

ls DIRECTORY -recurse -include PATTERN | foreach { "$_" }

事实上,我还想附加几个其他命令 | foreach { "$_" } 到。所以我正在尝试找到一种方法来使输入更容易。我尝试了这样的东西:

function xfind {
    ls $args | foreach { "$_" }
}

然后我像这样调用它:

xfind DIRECTORY -recurse -include PATTERN

但这似乎做了错误的事情......

I like to use the following code to emulate the Unix "find" behavior:

ls DIRECTORY -recurse -include PATTERN | foreach { "$_" }

In fact, there are a couple of other commands that I'd like to append this | foreach { "$_" } to. So I'm trying to find a way to make this easier to type. I tried stuff like this:

function xfind {
    ls $args | foreach { "$_" }
}

And then I invoked it like so:

xfind DIRECTORY -recurse -include PATTERN

But that seemed to do the wrong thing...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拧巴小姐 2024-12-01 14:17:53

考虑简单地使用 Get-ChildItem-name 开关(又名 lsdir):

ls DIRECTORY -recurse -include PATTERN -name

这样是原生的、干净的、有效的。

Consider simply to use the -name switch of the Get-ChildItem (aka ls, dir):

ls DIRECTORY -recurse -include PATTERN -name

This way is native, clean, and effective.

完美的未来在梦里 2024-12-01 14:17:53

尝试一下,它可以扩展为完整的高级功能。关键是通过使用特殊变量(PSBoundParameters)传递所有参数来将参数传递给 ls,该变量在高级函数中可用:

function xfind {

    [cmdletbinding()]

    param(
        [string[]]$path,
        [switch]$recurse,
        [string[]]$include
    )

    ls @PSBoundParameters | foreach { "$_" }   
}

Try this, it can be extended to a full blown advanced function. The key is to pass the parameters to ls by passing all of them using a special variable (PSBoundParameters) which is avaialble in advanced functions:

function xfind {

    [cmdletbinding()]

    param(
        [string[]]$path,
        [switch]$recurse,
        [string[]]$include
    )

    ls @PSBoundParameters | foreach { "$_" }   
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文