c# - 打开文件夹问题

标签 c# directory

我想打开刚刚保存文件的文件夹并选择文件,为此我使用了这个小代码:

 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 现在实际上是文件夹的完整路径,而不是文件的完整路径包括文件名。

关于c# - 打开文件夹问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18254753/

相关文章:

C、Windows API在注册表项后创建文件夹结构

android - 如何检查文件夹是否循环为空?

python - 使用 shutil.make_archive() 压缩目录,同时保留目录结构

python脚本调用用户修改或将文件添加到linux目录

c# - 在 C# 中绘制图像?

C# 使用正则表达式提取单词

c# - 使用 FTP 协议(protocol)上传后文件损坏

c# - List<T> 构造函数线程安全吗?

javascript - 如何使用 javascript 检查 webkitdirectory 是否正常工作?

c# - 将绑定(bind)重定向配置应用于 pythonnet