2010-03-29 33 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

嘗試:

"Foo`ndoes work for me" 

如果你需要那麼一個完整的CRLF序列:

"Foo`r`ndoes work for me" 

注意,逃脫字符只在雙引號字符串的工作 - 而不是單引號的字符串。

更新:此時PowerShell不支持重定向<,因此您只能使用管道從交互式提示中獲取標準輸入。是否有可能nc.exe期待另一個字符(或轉義字符)來終止輸入?我知道控制檯exes可以從PowerShell接收stdin。如果你有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); 
    } 
    } 
} 

然後執行EXE:

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

PS>