打开文件夹问题

本文关键字:问题 文件夹 | 更新日期: 2023-09-27 18:27:43

我想打开刚刚保存文件的文件夹并选择该文件,为此我使用以下小代码:

 var psi = new ProcessStartInfo("Explorer.exe", "/select," + dlg.FileName);
                Process.Start(psi);

它工作得很好。

我需要把这段代码放在几个地方,所以我决定创建一个方法,这个方法还有一个条件:

 private static void OpenFolderAndSelectMyFile(string fileName)
 {
     if (MySettings.Default.openFolder == true)
     {
         var psi = new ProcessStartInfo("Explorer.exe", "/select," + fileName);
         psi.WindowStyle = ProcessWindowStyle.Maximized;
         Process.Start(psi);
     }    
 }

这不能按预期工作:这将打开父文件夹(包含我的文件的文件夹(。它还选择文件夹。

为什么会有这种行为差异以及如何解决?

打开文件夹问题

发生这种情况

的唯一方法是fileName不是原始代码中的样子。代码完全相同,如果fileName实际上是原始代码位置中的代码,则可以按预期工作。

现在很可能fileName实际上是文件夹的完整路径,而不是文件的完整路径,包括文件名。