gpt4 book ai didi

c# - 在 C# 中运行 cmd 命令

转载 作者:行者123 更新时间:2023-11-30 20:47:23 24 4
gpt4 key购买 nike

我想从我的 C# 程序运行 CMD 命令,但我没有发现我犯的错误。以下是全局变量:

string flasherpath = "C:\ti\MSP430Flasher_1.3.1\MSP430Flasher.exe";
string chip = "-n MSP430G2553";
string hexpath = " -w \"C:\ti\MSP430Flasher_1.3.1\LED_Controle.txt\"";

这是代码:

private bool programm()
{
for (int i = 0; i < 5; i++)
{
if (check[i] == false)
{
MessageBox.Show("Please choose working Settings.");
return false;
}
}
MessageBox.Show("All Right start Programming in the CMD Window.");
string command = "/C ";
command += "\"" + flasherpath + "\" "+chip+" "+hexpath+" -v -g -z [VCC] & pause";
Process.Start("cmd", command);
return true;
}

但每次我运行代码时只会出现:

"Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. Drücken Sie eine beliebige Taste . . ."

谷歌翻译:

The syntax for the file name, directory name, or volume label syntax is incorrect. Press any button

我不明白这个错误,因为如果我在普通的 cmd 窗口中复制命令(不带“/C”)并运行它,我会返回预期的结果。

有人看出我的错误了吗?

最佳答案

你需要转义你的字符串:

将反斜杠 "\" 隐藏为带有前导反斜杠的 "\\" 或在字符串前设置 @:string somestring = @"here is some gibberish with a\in it";,就像你对 " 所做的一样。你可以使用 @ 作为 flasherpath。但是因为你需要要在 hexpath 中也转义 ",在这里您必须使用手册\

string flasherpath = @"C:\ti\MSP430Flasher_1.3.1\MSP430Flasher.exe";
string chip = "-n MSP430G2553";
string hexpath = " -w \"C:\\ti\\MSP430Flasher_1.3.1\\LED_Controle.txt\"";

关于c# - 在 C# 中运行 cmd 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25861750/

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