使用startInfo.Arguments将数据从textBox复制到cmd

时间:2017-10-02 19:38:56

标签: c# cmd

我需要使用 startInfo.Arguments 将文本框中的序列号(文本)写入cmd命令。 重点是,我在这里做的所有搜索都指向替换参数的开头或结尾的文本。 但我需要将textBox中的文本插入到参数的中间,如下所示:

string input1 = textBox1.Text;
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.FileName = "CMD.exe";
startInfo.Arguments = "/c adb -s "textBox1.Text" shell dumpsys battery";

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

文本框的内容已存储在input1变量中。

现在我们有多个选项可以在C#中执行此操作:

startInfo.Arguments = String.Format(@"/c adb -s ""{0}"" shell dumpsys battery", input1);

(在@ string表示法中,双引号通过加倍来保留在结果字符串中)

或连接:

startInfo.Arguments = "/c adb -s \"" + input1 + "\" shell dumpsys battery";

(反斜杠转义的双引号将保留结果字符串中的双引号)

或者,最近我们可以使用字符串插值:

startInfo.Arguments = $@"/c adb -s ""{input1}"" shell dumpsys battery";

无论哪种方式,都要考虑在执行从用户获得的任何内容之前验证该值,尤其是在以管理员权限启动时。