我有一个应用程序,它在数据库中查询用于任务的嵌套文件夹的位置,并打开此文件夹(使用ProcessStartInfo
类启动explorer.exe
并将文件夹名称作为一个论点)。
除了包含逗号的许多文件夹之外,这种方法很好(不幸的是有很多文件夹!)
说,对于名为C:\this,folder\
的文件夹,它会尝试启动“文件夹”。我如何才能将它作为逐字对待?
示例代码:
public void LaunchExplorer() {
ProcessStartInfo explorer = new ProcessStartInfo();
string windir = Environment.GetEnvironmentVariable("WINDIR");
System.Diagnostics.Process prc = new System.Diagnostics.Process();
prc.StartInfo.FileName = windir + @"\explorer.exe ";
prc.StartInfo.Arguments = @"c:\this,folder";
prc.StartInfo.UseShellExecute = false;
try
{
prc.Start();
}
catch
{
MessageBox.Show("cannot open folder " + prc.StartInfo.Arguments);
}
}
答案 0 :(得分:3)
您是否尝试将文件夹名称括在引号中,如下所示?
prc.StartInfo.Arguments = "\"c:\\this,folder\"";
答案 1 :(得分:0)
prc.StartInfo.Arguments = "\"c:\\this,folder\"";
会做的伎俩