2015-05-26 3 views
0

Я хотел бы объединить эту команду в одну строку.Как вывести вывод на консоль и добавить его в файл в одно и то же время

echo "Hello" 
echo "Hello" >> myFile.txt 

я попытался с помощью перенаправления и выход в Randoms путь, а также, я ве не повезло ^^

Edit: Нужно сделать это с помощью окна CMD.

Любое предложение?

+0

От http://stackoverflow.com/questions/11239924/windows-batch-tee-command похоже, что это непросто выполнимо без сторонних инструментов. – RobertT

ответ

1

Afaik нет нативного способа сделать это. Либо вы используете внешний инструмент, например, wintee (https://code.google.com/p/wintee/), либо вам нужно сделать что-то уродливое. Однако, если ваша единственная цель состоит в том, чтобы объединить обе линии в один, это будет работать:

SETLOCAL EnableDelayedExpansion 
SET msg=Hello&&ECHO !msg!&&ECHO !msg!>>myFile.txt 

Или:

ECHO Hello&&ECHO Hello>>myFile.txt 

Вы всегда можете объединить два или несколько строк кода с & или && в пакетном режиме , cmd1&cmd2 означает «do cmd1, а затем cmd2» и cmd1&&cmd2 означает «do cmd1, и если это удалось сделать cmd 2».

Если вы решили использовать первый вариант мира, вы не забудете, что вам нужно будет добавить SETLOCAL EnableDelayedExpansion и адрес к вашим переменным, используя !...! вместо %...%.

0

Вы можете создать свой собственный "как- tee.bat" файл в очень простой способ:

@echo %* 
@echo %* > CON 

... и затем использовать его таким образом:

call tee "Hello" >> myFile.txt 

Примечание : вы должны назвать свой командный файл с именем, отличным от «tee.bat», чтобы избежать критики от пуристов!

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