我也想直接输入Powershell提示符,而不是在文本文件中输入。
Foo`r对我不起作用。例如:
echo "RJ`r`n" | .\nc.exe -u 192.168.1.247 2639
但我真正想做的只是
.\nc.exe -u 192.168.1.247 2639
然后开始输入提示符。
答案 0 :(得分:1)
尝试:
"Foo`ndoes work for me"
如果您需要完整的CRLF序列,那么:
"Foo`r`ndoes work for me"
请注意,转义字符仅适用于双引号字符串 - 而不是单引号字符串。
更新:目前PowerShell不支持<
中的重定向,因此您只能使用管道从交互式提示中获取stdin到exe。是否有可能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>