You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PowerShell中Out-String的输出直接作为参数传递给Get-Content/cat?

错误原因
  1. Get-Content(你使用的别名cat)的作用是读取指定路径的文件内容,仅支持接收文件路径或文件对象作为合法输入,你代码中管道传递的是格式化后的路径纯文本,无法匹配Get-Content的参数绑定规则。
  2. $input是PowerShell中ForEach-Object脚本块内的管道输入枚举器,不可直接作为参数传递给Get-Content,你的参数调用逻辑本身存在错误。
  3. 你额外增加的Format-Table、Out-String属于多余操作,你要实现的路径输出需求完全不需要用到这两个命令。
正确实现方案

不需要提前赋值变量,直接展开FullName属性即可实现你要的输出效果:

Get-ChildItem -Recurse -Filter "* *" -Force | ForEach-Object {
    (Get-ChildItem $_.FullName).FullName
}

如果偏好纯管道写法,也可以用如下格式:

Get-ChildItem -Recurse -Filter "* *" -Force | ForEach-Object {
    Get-ChildItem $_ | Select-Object -ExpandProperty FullName
}

补充说明:PowerShell中管道输出的字符串默认会直接打印到控制台,不需要像bash一样调用cat来输出标准输入内容,所以你原来的写法里完全不需要追加Get-Content相关的调用。

内容的提问来源于stack exchange,提问作者J.Todd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:09:04