【发布时间】:2013-01-13 07:09:34
【问题描述】:
我正在尝试使用名为 UltraCompare 的第三方比较工具来比较两个文件夹。以下行调用程序并打开两个文件......但这除了打开它们之外什么都不做,而且它对于文件夹不能正常工作。
Process.Start("C:\\Program Files\\IDM Computer Solutions\\UltraCompare\\uc.exe",
textBoxContents1 + " " + textBoxContents2);
我想使用以下命令行调用打开两个文件夹,对它们进行比较,并将结果存储在 output.txt 中:uc -d -dmf "c:\dir1" "c :\dir2" -o "c:\output.txt"
另外,我需要对文件夹使用变量,而不是对路径进行硬编码。
如何在我的 C# 代码中使用它?
更新 1:
我已根据您的建议修改了我的代码:
var p = new System.Diagnostics.Process();
p.StartInfo.FileName = "C:\\Program Files\\IDM Computer Solutions\\UltraCompare\\uc.exe";
p.StartInfo.Arguments = String.Format("-d -dmf \"{0}\" \"{1}\" -o c:\\output2.txt",
textBoxContents1, textBoxContents2);
p.Start();
我想知道为什么包含参数的第三行仍然不起作用...
更新 2:
我的错。它现在正在工作!只是不显示 UltraCompare 中的文件夹,但它仍在写入和保存输出。谢谢大家!
【问题讨论】:
-
你在问如何连接字符串?
-
对于您的文件夹问题,请引用您的所有字符串:
Process.Start("""C:\\Program Files\\file.exe""")
标签: c# asp.net parameters command-line-arguments