C# 逃逸;运行cmd.exe/C时参数路径中的字符

C# 逃逸;运行cmd.exe/C时参数路径中的字符,c#,.net,cmd,C#,.net,Cmd,请有人告诉我如何在尝试启动以下过程时转义字符串中的“&”字符: var arguments = $"/C \"C:\\Here & Here\\MyExe.exe\""; Process process = new Process { StartInfo = { Arguments = arguments,

请有人告诉我如何在尝试启动以下过程时转义字符串中的“&”字符:

            var arguments = $"/C \"C:\\Here & Here\\MyExe.exe\"";
            Process process = new Process
            {
                StartInfo =
                {
                    Arguments = arguments,
                    FileName = "cmd.exe",
                    CreateNoWindow = true,
                    WindowStyle = ProcessWindowStyle.Hidden,
                    UseShellExecute = false
                }
            };
            process.Start();
我需要使用cmd.exe/C执行该进程,我已尝试使用替换字符串来使用^& 像这样:

var arguments = $"/C \"C:\\Here ^& Here\\MyExe.exe\"";
但它仍然没有找到路径

在cmd窗口中,我只需执行
cmd.exe/C“C:\Here^&Here\MyExe.exe”“
,它不通过进程启动即可工作


谢谢

如果路径是双引号,则效果良好:

var arguments = "/c \"\"C:\\Here & Here\\MyExe.exe\"\"";

您是否试图在cmd实例或C#实例或两者中突破
&
?文件的文本路径是什么。不,在文件的路径中有一个-,我只是想把它作为参数的一部分传递进去,因为某些原因,我似乎无法逃避字符。在cmd窗口中,我只需执行cmd.exe/C“C:\Here^&Here\MyExe.exe”,它不通过进程启动,而是执行以下操作:
var arguments=@”/C“C:\Here^&Here\MyExe.exe”谢谢,但仍然返回相同的退出代码1。所以它应该是
var arguments=$”/C\“C:\\Here*\\MyExe.exe\”