Использование CPIO без конвейера или с перенаправлением powershell?

Извиняюсь за ультра глупый вопрос.

Я пытаюсь использовать cpio с powershell, и перенаправления... болезненные. Я прочитал несколько ответов stackru:

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

-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

просто не работает. На самом деле он перезаписывает cpiolist пустым файлом (или, в зависимости от "TRAILER!!!"). Если я пытаюсь вызвать его из CMD, он, похоже, ожидает дополнительных вводов (если я нажимаю Enter, он говорит ": неверный аргумент")

Любая помощь с благодарностью.

0 ответов

Другие вопросы по тегам