Telnet Minimalistic C#发送提示为两行,而不仅仅是一行

时间:2014-06-26 15:22:13

标签: c# command-prompt telnet

我的textbox1 = AlUsrx 287 tst001

中有一个文字

AlUsrx =是我想要执行的脚本。

287 tst001 =是脚本需要工作的两个参数。

我从287开始textbox2tst001

获取textbox3

所以我创建了我的提示字符串,如下所示:

("AlUsrx " + textbox2.Text + textbox3.Text);

并且它不起作用

当我发送字符串AlUsrx 287 tst001时...它发送两行 不仅仅是一条指令行

这是我服务器中发生的事情:

:/>AlUsrx

(输入行,错误说:需要另外两个参数“

:/>287 tst001

(输入行,错误说:obviusly,而不是找到ksh“

但是当我在textbox2(287)中创建具有静态值的字符串时:

("AltaUsrx " + "287" + textbox3.Text);
发生了这件事:

:/>AlUsrx 287 tst001

IT工作!

我想问题是我将287作为变量从textbox2中获取并导致它在2行中破坏我的字符串。

2 个答案:

答案 0 :(得分:0)

也许尝试字符串格式。

var command = string.Format("AllUsrx {0} {1}", textbox2.Text, textbox3.Text)

然后传入命令,然后可以在调试中检查命令,并确保其格式符合您的预期。

答案 1 :(得分:0)

<子>免责声明。这是从问题中提取的。

===================== UPDATE =======已解决的问题================ ===========

我解决了自己的问题:

我在telnet连接的文本框中携带了287,然后我的richtextbox中的结果是:

:/>tail -1 /etc/passwd|cut -d: -f3 287

所以我在287之前和之后切割角色(仅获得287):

string x = output.Substring(32, 4);

然后我将x发送到我的文本框

textBox2.Text = strID2;  //textBox2.Text = 287

在这一点上,TEXBOX正在显示287但是......我没有看到在2.之前有一个“输入(空格)”字符。我想像alt + 0160

那个角色让我的代码把我的字符串分成两个!!

所以,我删除该字符的做法是用子字符串删除它...

string x = output.Substring(32, 4);

textBox2.Text = strID2;

textBox2.Text = textBox2.Text.Substring(1); //This is what I do at least to solve it.

那样,隐藏空间或输入字符被删除,现在只需保留287 !! :) 无论如何,谢谢“TONY”的帮助! 和“SoMoS”你在开玩笑吗? 。|。 如果你不想说出一个明智的评论,那就......离开这里吧。