我很难在C中执行CMD命令行#(当我将命令复制到CMD时,它就起作用了(。
命令(引号是命令的一部分(:
"C: \Program Files(x86(\SolarWinds\Dameware Remote Support \dwrcc.exe"-c: -h:-m:10.10.41.82-a:1
我是怎么写的C#:
System.Diagnostics.Process.Start(""C:\Program Files (x86)\SolarWinds\Dameware Remote Support\dwrcc.exe" -c: -h: -m:10.10.41.82 -a:1");
我得到的错误是找不到位置。我想括号或引号有问题,但我不知道是什么。
尝试用@
而不是编写
System.Diagnostics.Process.Start(@"C:Program Files (x86)SolarWindsDameware Remote Supportdwrcc.exe", "-c: -h: -m:10.10.41.82 -a:1");
将字符串前缀为@
表示应将其视为文字,即不进行转义。
因此,例如,如果您的字符串包含一个通常会这样做的路径:
string path = "c:\path\to\file.txt";
用@
写它可以让你写得更清楚,而不需要双斜线
string path = @"c:pathtofile.txt";
您可以通过在十六进制值前面加上"来转义Unicode字符;\u〃;。双引号的十六进制值是0022,因此您可以将其包含在字符串中。
例如:
quote=";\活下去,她哭了";