2010-03-29 3 views
0

Я хочу ввести непосредственно в подсказку Powershell, а не в текстовый файл.Как отправить возврат каретки с помощью Windows Netcat?

Foo`r не работает для меня. Например:

echo "RJ`r`n" | .\nc.exe -u 192.168.1.247 2639 

но то, что я действительно хотел сделать, это просто

.\nc.exe -u 192.168.1.247 2639 

затем начните вводить в строке.

ответ

1

Try:

"Foo`ndoes work for me" 

Если вам нужна полная последовательность CRLF затем:

"Foo`r`ndoes work for me" 

Обратите внимание, что Escapes символы работают только в двойных кавычках - не одинарные кавычки строк.

Update: Перенаправления в < не поддерживается в PowerShell в это время, так что вы можете получить только STDIN в ех из интерактивного режима с помощью трубопровода. Возможно ли, что nc.exe ожидает другого символа (или escape-символ) для завершения ввода? Я знаю, что консоль exes может получать stdin из PowerShell. Если у вас есть C# компилятор, вы можете увидеть это компиляция следующего источника (CSC echostdin.cs):

using System; 
public class App 
{ 
    public static void Main() 
    { 
    int ch; 
    while ((ch = Console.In.Read()) != -1) 
    { 
     Console.Write((char)ch); 
    } 
    } 
} 

Затем выполните ех:

PS> "foo`r`n" | .\echostdin.exe 
foo 

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