2013-04-02 4 views
1

Я пытаюсь заставить скрипт работать в Windows. Извините, но я не очень опытен в Windows (или даже в том, что в оболочке, если честно). Скрипт работает хорошо для этой одной строки за исключением:Использование символа трубы и «печать» в Windows

print "9\n0\n1\n5\n0\n0\n\n" | /usr/ts23/mm_util 

mm_util представляет собой интерактивную утилиту, которая принимает число в качестве входных данных. Сначала он выбирает выбор 9, затем 0, затем 1 и т. Д. Я изменил путь использования утилиты, которая имеет идентичный интерфейс в Windows, но выход - это только первый экран. Вход «9» не вводится, и из-за этого вывод (который разобран) неверен. Как я могу изменить это так, чтобы «9» было введено на первом экране?

ответ

1

Это метод, который не требует наличия файла. Он работает в командной строке:

(for %N in (9 0 1 5 0 0 "") do @echo(%~N)|c:\Users\ts23\mm_util 

"", чтобы получить пустую строку на выходе, как вы имели в исходном вопросе. В вашем ответе нет пустой строки.

%~N обозначение полосы, содержащие кавычки из значения.

echo( - это неинтуитивный синтаксис, который может надежно печатать пустую строку, в случае, если %~N расширяется до нуля.

Не забудьте удвоить проценты, если вы поместите код в пакетный скрипт.

+0

Ничего себе это действительно круто, спасибо –

1

Попробуйте поставить, что девять-LineBreak-ноль-материал в виде текстового файла, а затем выполнить print textfile.txt | /usr/ts23/mm_util

И имейте в виду, что для Windows использует предварительный UNIX соглашение о том, что перевод строки CR LF, а не только LF.

+0

Я попытался ввести '9 \ r \ n'' 9 \ n' и просто '9' в файл test.txt и попробовал вашу команду, но, к сожалению, он все еще не работает, как и раньше. Отображается только первый экран. –

1

Так я получил вывод, что я хотел с помощью этого:

C: \ Users \ ts23 \ mm_util < Test.txt

А потом просто положить следующий внутри теста. TXT

9 
0 
1 
5 
0 
0 

выход я получил то, что мне было нужно, надеюсь, это поможет кто-то пытается сделать что-то подобное в будущем.

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