2016-12-14 2 views
0

Если у вас есть программа, которая может преобразовать текст ввода в альтернативный выходной текст через канал, можете ли вы перенаправить вывод другой команды на имя файла, созданное первой программой?Можно ли перенаправить файл с именем, преобразованным программой?

echo Hello > source/somedir/somefile.txt | somepipeprogram 

выше, вероятно, неправильный синтаксис, слово Hello заканчивается в. \ Источник \ somedir \ somefile.txt даже если somepipeprogram всегда возвращает другое имя

Я тестировал somepipeprogram и это делает действительно правильно преобразовать в мое желаемое имя выходного файла

т.е. echo \source\somedir\somefile.txt | somepipeprogram вернет мое альтернативное имя файла.

Так что если somepipeprogram был настроен, чтобы произвести «C: \ Temp \ someotherfilename.txt» от этого входа, то вывод будет, что с помощью предыдущего вызова

Я думал, что ответ от следующего вопроса: https://stackoverflow.com/a/25954264/176690 , за исключением переменная, которая была установлена ​​не существует один раз setvar.bat выходов

Вот содержимое моего вторичного пакетного файла

SETLOCAL 
CALL setvar filename echo %1 ^^^^| somepipeprogram  
ECHO filename var='%filename%' - if showing var='' expansion failed 

Я вижу SetVar дисплея правильного ответа, но т он момент, когда он покидает setvar.bat %filename% не существует

+0

На данный момент я решил мою проблему путем перемещения техники из setcmdvar непосредственно в сценарий, его не пригодно для повторного использования, но он работает –

ответ

0

эхо Hello>somepipeprogram

или

эхо Hello> $ (somepipeprogram)

также в зависимости или ваша оболочка.

(я, очевидно, предполагая некоторые Unixy оболочки, как Баш здесь.)

+0

отсталого апостроф знаки вокруг somepipeprogram – user2496748

+0

backtics все еще написал файл под названием somepipeprogram, а не что-нибудь еще –

Смежные вопросы