0

我有一个应用程序查询数据库中用于任务的嵌套文件夹的位置,并打开该文件夹(使用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);
        }
}
4

2 回答 2

4

您是否尝试过用引号将文件夹名称括起来,像这样?

prc.StartInfo.Arguments = "\"c:\\this,folder\"";
于 2011-03-08T08:47:32.353 回答
0
prc.StartInfo.Arguments = "\"c:\\this,folder\"";

会成功的

于 2011-03-08T08:50:22.660 回答