Process打开文件

引用:using System.Diagnostics;

打开文件夹:

System.Diagnostics.Process.Start(FilePath);

打开文件夹中某个文件:

System.Diagnostics.Process.Start(FilePath+"/"+FileName);

打开文件夹并选中单个文件:

通用的是这个方案:

System.Diagnostics.Process.Start("Explorer", "/select,"+ FilePath+"\"+FileName);

System.Diagnostics.Process.Start("Explorer.exe", "/select,"+ FilePath+"\"+FileName);

但是如果文件包含特殊字符就会出现问题,比如文件名包含逗号时,就打开的位置错误,打开到了 我的文档 文件夹。

正确的解决方案是将需要选中的文件用双引号括起来,如下:

var argment = string.Format(@"/select,""{0}""", filePath);

System.Diagnostics.Process.Start("Explorer", argment);

或者

System.Diagnostics.Process.Start("Explorer.exe", argment);

注:(explorer,explorer.exe,select,不区分大小写,"/selecet,"其中"/,"都不能少,FilePath为文件路径不包含文件名)

时间: 2024-11-06 09:40:31

Process打开文件的相关文章

C#之 使用Process打开文件

提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程. Process可以打开文件,也可以打开exe的运行程序 现在先来说一下如何打开word文档: string fileNewPat = Application.StartupPath; string fileName = [email protected]"\doc\程沐喆.doc"; if (File.Exists(fileName)) { Process process1 = new Process(); proces

WPF中调用Process打开网页或本地文件夹

今天做了个小工具,算是把快捷方式集成到一起,界面大致如下: ------------------------------------------------------------------------ 网站                       文件夹                          运行命令 cnblog            C#   ASP.NET  WPF            运行:_____________ google -----------------

Unix文件系统学习笔记之二: 文件描述符、inode和打开文件表

Unix文件系统学习笔记之二: 文件描述符.inode和打开文件表 系统盘上数据的布局 文件系统无非是关于数据在磁盘上的组织以及存储空间管理的,为此,首先需要知道磁盘上数据的总体布局方式.以Unix为例,最重要的一张表如下: Unix 进程管理中和用户文件.io 最相关的数据结构:usr 数据结构 The procstructure does not record information related to file access.  However the userstructure con

文件描述符、文件描述符表、打开文件表、目录项、索引节点之间的联系

文件描述符.文件描述符表.打开文件表.目录项.索引节点之间的联系如下图所示: 每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体. 在file结构体中维护File Status Flag(file结构体的成员f_flags)和当前读写位置(file结构体的成员f_pos).在上图中,进程1和进程2都打开同一文件,

由打开文件失败引发的思考

笔者的某个目录下面有两千个c文件需要处理,为了快速实现,写了下面的代码去打开: 1 #include <stdio.h> 2 #include <string.h> 3 4 int main(void) 5 { 6    int i = 0; 7    FILE * fp = NULL; 8    char filename[10] = {0,}; 9 10    printf("Hello!\n"); 11 12    for(i=0;i<8192;i+

C# 系统应用之ListView控件 (三).添加ContextMenuStrip右键菜单打开文件和删除文件功能

在前面讲述过使用TreeView控件和ListView控件显示磁盘目录信息,但仅仅是显示信息是不够的,我们还需要具体的操作.在"个人电脑使用历史痕迹"项目中我还需要添加"打开文件"和"删除文件"两种方法.具体如下: 在第一篇文章"C# 系统应用之TreeView控件 (一).显示树状磁盘文件目录及加载图标"中显示如下: http://blog.csdn.net/eastmount/article/details/1945310

jsp 页面打开文件

1 package tcweb.handler.report; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 6 import javax.servlet.ServletContext; 7 import javax.servlet.ServletOutputStream; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.htt

c# 保存和打开文件的方法

复制代码 1.打开文件路径: OpenFileDialog a= new OpenFileDialog(); //new一个方法 a.Filter = "(*.et;*.xls;*.xlsx)|*.et;*.xls;*.xlsx|all|*.*"; //删选.设定文件显示类型 a.ShowDialog(); //显示打开文件的窗口 string fileName = a.FileName; //获得选择的文件路径 System.Diagnostics.Process.Start(fil

打开文件过多

问题现象: 日志出现大量“打开文件过多”异常信息 问题分析: 通过网上查询,发现是由于系统参数设置问题造成,因为应用并发量大,http连接多了,随之socket的消耗也多了,socket文件描述符也是Linux系统文件描述符的一种,Linux操作系统对此也有限制,所以需要调大参数fs.max-file和/etc/security /limits.conf的soft nofile和hard nofile值 解决方案: 通过设置以上参数,加大数值,重启应用. 问题再现: 设置了以上参数后,还以为问题