gpt4 book ai didi

c# - 如何从 C# Windows 窗体中运行命令行代码?

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:39 24 4
gpt4 key购买 nike

我对编码相当陌生,但已经构建了一些小东西。我在上一个项目中发现的一件事是如何运行 2 个通常从控制台运行的简单命令,而不是从表单应用程序中运行。简单地说,该表单有 2 个按钮,单击一个按钮会导致 ipconfig 运行,而单击另一个按钮会导致 ipconfig/all。然后它将来自命令的 ip 信息发布到我创建为消息框的另一个表单中。这很重要,因为我正在尝试做类似的事情,但现在没有任何效果。

我有一个表单,其中有一个用于用户名的位置和一个用于密码的位置。在提交时,我希望它基本上运行以下内容:

NET USE F: \\ALPHA\CLIENTAPPS /user:domain\%username% %password% /persistent:no
NET USE O: \\ALPHA\USERS /user:domain\%username% %password% /persistent:no
NET USE S: \\ALPHA\COMPANY /user:domain\%username% %password% /persistent:no

%username%%password% 是从表单中捕获的,域将是我们的实际域。

使用与上述正在运行的 ipconfig 程序类似的方法,这就是我想出的方法。但是,当我单击“提交”按钮时,没有任何反应,没有错误,也没有实际创建网络共享:

private void btnSubmit_Click(object sender, EventArgs e)
{
string un = txtUsername.Text;
string pw = txtPassword.Text;

System.Diagnostics.ProcessStartInfo PR = new System.Diagnostics.ProcessStartInfo("cmd", @" /c net use W: \\\\ALPHA\\CLIENTAPPS /user:acsdish\\" + un + " " + pw + "/persistent:no");
PR.RedirectStandardOutput = true;
PR.UseShellExecute = false;
PR.CreateNoWindow = true;
System.Diagnostics.Process StartPR = new System.Diagnostics.Process();
StartPR.StartInfo = PR;
StartPR.Start();
}

我在这里缺少什么,或者有更好的方法吗?谢谢。

迈克

最佳答案

System.Diagnostics.ProcessStartInfo PR = new System.Diagnostics.ProcessStartInfo("cmd", @" /c net use W: \\\\ALPHA\\CLIENTAPPS /user:acsdish\\" + un + " " + pw + "/persistent:no");

尝试删除“@”或删除“\”字符的转义

Info here (逐字字符串文字)

关于c# - 如何从 C# Windows 窗体中运行命令行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com