通过管道传输 Get-ChildItem 的所有输出

通过管道传输 Get-ChildItem 的所有输出

我正在尝试使基本的 powershell 命令发挥作用,但是在管道系统方面遇到了一些困难。

我使用 Fossil 作为版本控制系统,并已完成大部分程序结构。运行命令:

get-childitem -r | fossil add {$_.fullname}

给了我错误

not found: E:/workspace/project/-encodedCommand
not found: E:/workspace/project/JABfAC4AZgB1AGwAbABuAGEAbQBlAA==
not found: E:/workspace/project/-inputFormat
not found: E:/workspace/project/xml
not found: E:/workspace/project/-outputFormat
not found: E:/workspace/project/text

答案1

fossil根据用户指南的浏览,假设这是版本控制系统使用的命令。

您需要一次将每个参数传递$_.FullName给命令,以便它成功为您处理文件。您可以使用命令执行此操作。因此它看起来像:fossilforeach


Get-ChildItem -Recurse | foreach {fossil add $_.FullName}

您需要这样思考:每次添加时,|它都会将所有对象属性传递给下一个进程或命令。您的实例中$_.FullName是您想要在下一个段中使用的特定对象。调用版本控制系统的命令时,必须一次传递一个,您可以使用命令执行此操作foreach

相关内容