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

Jac*_*001 3 powershell

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

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

get-childitem -r | fossil add {$_.fullname}
Run Code Online (Sandbox Code Playgroud)

给我错误

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
Run Code Online (Sandbox Code Playgroud)

小智 5

假设fossil是与版本控制系统一起使用的命令,基于浏览用户指南。

您需要一次将每个文件传递$_.FullName到命令中,以便它成功地为您处理文件。fossil您可以使用该foreach命令来执行此操作。所以它看起来像:


Get-ChildItem -Recurse | foreach {fossil add $_.FullName}
Run Code Online (Sandbox Code Playgroud)

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