C#运行带有backslah的cmd命令

本文关键字:cmd 命令 backslah 运行 行带 | 更新日期: 2023-09-27 18:19:40

我在这份工作上过得很不愉快。我正在尝试从c#中的windows应用程序执行cmd命令。问题是一些cmd内部有"''",并且考虑到C#对反斜杠("''"-->"''")进行了奇怪的操作,带有反斜杠的命令根本不起作用。

这是我的代码:(非常简单)

string strCmdText;
strCmdText = "rundll32 printui.dll,PrintUIEntry /ga /c''''MIS-L-ITTECH238 /n''''srvrosettastone''MIS-P-SO";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);

这是原始的cmd命令:

rundll32 printui.dll,PrintUIEntry /ga /c''MIS-L-ITTECH238 /n''srvrosettastone'MIS-P-SO

cmdtext看起来像是在字符串中构造的(所有反斜杠都加倍)

C#运行带有backslah的cmd命令

通过在前面添加@符号,可以更容易地使其成为非解释字符串

string strCmdText;
strCmdText =@"rundll32 printui.dll,PrintUIEntry /ga /c''MIS-L-ITTECH238 /n''srvrosettastone'MIS-P-SO"
System.Diagnostics.Process.Start("CMD.exe", strCmdText);

这应该为你做。