C#实现打开指定目录和指定文件的示例代码

 更新时间:2022年06月29日 16:53:14   作者:牛奶咖啡13  
这篇文章主要为大家详细介绍了如何利用C#实现打开指定目录、打开指定目录且选中指定文件、打开指定文件,感兴趣的小伙伴可以尝试一下

一、实现内容

1.1实现的功能

想要实现:

①打开指定的目录;

②打开指定的目录且选中指定文件;

③打开指定文件

1.2实现的效果

二、实现操作

        /// <summary>
        /// 打开目录
        /// </summary>
        /// <param name="folderPath">目录路径(比如:C:\Users\Administrator\)</param>
        private static void OpenFolder(string folderPath)
        {
            if (string.IsNullOrEmpty(folderPath)) return;
 
            Process process = new Process();
            ProcessStartInfo psi = new ProcessStartInfo("Explorer.exe");
            psi.Arguments = folderPath;
            process.StartInfo = psi;
 
            try
            {
                process.Start();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                process?.Close();
 
            }
 
        }
 
        /// <summary>
        /// 打开目录且选中文件
        /// </summary>
        /// <param name="filePathAndName">文件的路径和名称(比如:C:\Users\Administrator\test.txt)</param>
        private static void OpenFolderAndSelectedFile(string filePathAndName)
        {
            if (string.IsNullOrEmpty(filePathAndName)) return;
 
            Process process = new Process();
            ProcessStartInfo psi = new ProcessStartInfo("Explorer.exe");
            psi.Arguments = "/e,/select,"+filePathAndName;
            process.StartInfo = psi;
 
            //process.StartInfo.UseShellExecute = true;
            try
            {
                process.Start();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                process?.Close();
 
            }
        }
 
        /// <summary>
        /// 打开文件
        /// </summary>
        /// <param name="filePathAndName">文件的路径和名称(比如:C:\Users\Administrator\test.txt)</param>
        /// <param name="isWaitFileClose">是否等待文件关闭(true:表示等待)</param>
        private static void OpenFile(string filePathAndName,bool isWaitFileClose=true)
        {
            Process process = new Process();
            ProcessStartInfo psi = new ProcessStartInfo(filePathAndName);
            process.StartInfo = psi;
 
            process.StartInfo.UseShellExecute = true;
 
            try
            {
                process.Start();
 
                //等待打开的程序关闭
                if (isWaitFileClose)
                {
                    process.WaitForExit();
                }
                
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                process?.Close();
               
            }
        }

三、Windows 资源管理器参数说明

Windows资源管理器参数的说明

序号参数命令说明
1Explorer /n此命令使用默认设置打开一个资源管理器窗口。显示的内容通常是安装 Windows 的驱动器的根目录
2Explorer /e此命令使用默认视图启动 Windows 资源管理器
3Explorer /e,C:\Windows此命令使用默认视图启动 Windows 资源管理器,并把焦点定位在 C:\Windows路径上
4Explorer /root, C:\Windows\Cursors此命令启动 Windows 资源管理器后焦点定位在 C:\Windows\Cursors folder路径上。此示例使用 C:\Windows\Cursors 作为 Windows 资源管理器的“根”目录
5Explorer /select, C:\Windows\Cursors\banana.ani此命令启动 Windows 资源管理器后选定“C:\Windows\Cursors\banana.ani”文件。
6Explorer /root, \\server\share, select, Program.exe此命令启动 Windows 资源管理器时以远程共享作为“根”文件夹,而且 Program.exe 文件将被选中

以上就是C#实现打开指定目录和指定文件的示例代码的详细内容,更多关于C#打开指定目录 文件的资料请关注脚本之家其它相关文章!

相关文章

  • C#实现Redis的分布式锁

    C#实现Redis的分布式锁

    我们在开发很多业务场景会使用到锁,例如库存控制,抽奖等。分布式与单机情况下最大的不同在于其不是多线程而是多进程。本文就来介绍一下,感兴趣的可以了解一下
    2021-08-08
  • 基于WPF实现路径图标控件

    基于WPF实现路径图标控件

    这篇文章主要介绍了如何利用WPF实现路径图标控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的小伙伴可以参考一下
    2023-07-07
  • c# 实现观察者模式

    c# 实现观察者模式

    这篇文章主要介绍了c# 实现观察者模式的步骤,帮助大家更好的理解和使用c#实现设计模式,感兴趣的朋友可以了解下
    2021-01-01
  • C#中的Action、Func和Predicate如何使用

    C#中的Action、Func和Predicate如何使用

    这篇文章主要给大家介绍了关于C#中Action、Func和Predicate如何使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C#向无窗口的进程发送消息

    C#向无窗口的进程发送消息

    这篇文章主要介绍了C#向无窗口的进程发送消息 的相关资料,需要的朋友可以参考下
    2016-05-05
  • c#使用微信接口开发微信门户应用

    c#使用微信接口开发微信门户应用

    本系列文章希望从一个循序渐进的角度上,全面介绍微信的相关开发过程和相关经验总结,希望给大家了解一下相关的开发历程。
    2014-03-03
  • .net2.0+ Winform项目实现弹出容器层

    .net2.0+ Winform项目实现弹出容器层

    在实际工作中,如果能像菜单一样弹出自定义内容,会方便很多,比如查询时,比如下拉列表显示多列信息时,比如在填写某个信息需要查看一些信息树时。这个时候自定义弹出界面就显的非常重要了
    2015-08-08
  • C# 实现ADSL自动断网和拨号的方法(适用于拨号用户)

    C# 实现ADSL自动断网和拨号的方法(适用于拨号用户)

    下面小编就为大家带来一篇C# 实现ADSL自动断网和拨号的方法(适用于拨号用户)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C#泛型接口的协变和逆变

    C#泛型接口的协变和逆变

    本文详细讲解了C#泛型接口的协变和逆变,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • .NET企业级项目中遇到的国际化问题和解决方法

    .NET企业级项目中遇到的国际化问题和解决方法

    这篇文章主要介绍了.NET企业级项目中遇到的国际化问题和解决方法,说明了理国际化问题的一些典型例子和经验之谈,需要的朋友可以参考下
    2014-07-07

最新评论