C#运行cmd命令,内部带有反拉
我做这份工作真的很不愉快。我正在尝试从c#中的windows应用程序执行cmd命令。问题是一些cmd中包含“\”,并且由于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被解释为字符串中的构造(所有反斜杠都翻了一倍
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);