我以前肯定做过类似的事情,但有些事情不正常,我不能 100% 确定它是什么。
我有一个可执行executable.exe
文件,它接受一个文件,执行一些魔术并在其他地方输出第二个文件。所以当我通过 CMD 运行这个可执行文件时,我需要做的就是传递"path1"
和"path2"
. 我将路径放在引号中,因为它们可能有空格。
无论如何,所以我在我的 c# 应用程序中所做的是:
public void methodToRunExecutable()
{
var exePath = "\""+ "C:\\SomePathToAnExecutable" + "\"";
var firstFilePath = "C:\\PathToFirstFile\\NameOfFile.txt"
var secondFilePath= "C:\\PathToSecondFile\\NameOfFile.txt"
Process.Start(exePath, "\""firstFilePath + "\" \"" + secondFilePath+"\"")
}
但是,我在调试时注意到"\""
实际显示为\"
,就像反斜杠没有转义引号一样。
需要明确的是,当我运行 CMD exe 时,我所要做的就是:
"C:\\PathToFirstFile\\NameOfFile.txt" "C:\\PathToSecondFile\\NameOfFile.txt"
而且效果很好。关于我做错了什么的任何想法?是因为"
没有被逃脱吗?