Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#运行cmd命令,内部带有反拉_C#_Cmd - Fatal编程技术网

C#运行cmd命令,内部带有反拉

C#运行cmd命令,内部带有反拉,c#,cmd,C#,Cmd,我做这份工作真的很不愉快。我正在尝试从c#中的windows应用程序执行cmd命令。问题是一些cmd中包含“\”,并且由于C对反斜杠(“\”-->“\”)进行了奇怪的操作,带有反斜杠的命令根本不起作用 这是我的代码:(非常简单) 以下是原始的cmd命令: rundll32 printui.dll,PrintUIEntry /ga /c\\MIS-L-ITTECH238 /n\\srvrosettastone\MIS-P-SO 它看起来像cmdtext被解释为字符串中的构造(所有反斜杠都翻了一倍

我做这份工作真的很不愉快。我正在尝试从c#中的windows应用程序执行cmd命令。问题是一些cmd中包含“\”,并且由于C对反斜杠(“\”-->“\”)进行了奇怪的操作,带有反斜杠的命令根本不起作用

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

以下是原始的cmd命令:

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

它看起来像cmdtext被解释为字符串中的构造(所有反斜杠都翻了一倍)

通过在前面添加@符号,它更容易成为非解释字符串

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

这应该对你有帮助。

尝试在stirng之前使用@,如:
string text=@“rundll32 printui.dll,printuitery/ga/c\\MIS-L-itetch238/n\\srvrosettastone\MIS-p-so”
定义“根本不工作”。您的
\
替换是正确的(而且这并不奇怪,
\
在字符串中是一个特殊字符是很常见的),所以其他一些东西是错误的。您还可以使用
@
说明符来使用。
string strCmdText;
strCmdText =@"rundll32 printui.dll,PrintUIEntry /ga /c\\MIS-L-ITTECH238 /n\\srvrosettastone\MIS-P-SO"
System.Diagnostics.Process.Start("CMD.exe", strCmdText);