0

为一个超级愚蠢的问题道歉。

我正在尝试将 cpio 与 powershell 一起使用,并且重定向很痛苦。我已经阅读了几个stackoverflow答案:

https://superuser.com/questions/654574/pipeline-input-to-executable-with-powershell

在 Windows Powershell 中重定向标准输入\输出

并且不能让它工作,但问题似乎在于cpio的基本调用。

为简单起见:

  1. 我想创建一个包含文件名列表的文件。

  2. 我希望 CPIO 使用这个列表而不是使用标准输入。

  3. 我希望 CPIO 在不使用标准输出的情况下创建我命名的存档。

根据 gnu 文档,这应该是可行的。https://www.gnu.org/software/cpio/manual/html_node/Copy_002dout-mode.html#Copy_002dout-mode

-F [[user@]host:]archive-file
-O [[user@]host:]archive-file
--file=[[user@]host:]archive-file

    Use the supplied archive-file instead of standard input. Optional user and host specify the user and host names in case of a remote archive. 

然而,

$ldclist = get-childitem * -include *out.*
$ldclist.name|%{ "$_" }| out-file -encoding ascii cpiolist
.\cpio.exe -o -O cpiolist >testarc

根本行不通。它实际上用一个空白文件(或者,取决于“TRAILER !!!”)覆盖了 cpiolist。如果我尝试从 CMD 调用它,它似乎正在等待更多输入(如果我按 Enter,它会显示“:无效参数”)

非常感谢任何帮助。

4

0 回答 0