【发布时间】:2011-02-19 05:54:23
【问题描述】:
在处理文件/文件夹的程序中,这可能是一个方便的功能。使用以下命令实际打开包含文件夹很容易:
System.Diagnostics.Process.Start( *path to folder* );
...但是我该如何去实际选择该父文件夹中的目标文件?如果我使用 Process.Start 方法,它实际上会尝试打开文件。
【问题讨论】:
标签: c# .net file windows-explorer
在处理文件/文件夹的程序中,这可能是一个方便的功能。使用以下命令实际打开包含文件夹很容易:
System.Diagnostics.Process.Start( *path to folder* );
...但是我该如何去实际选择该父文件夹中的目标文件?如果我使用 Process.Start 方法,它实际上会尝试打开文件。
【问题讨论】:
标签: c# .net file windows-explorer
根据Windows Explorer Command-Line Options,您只需使用/select 参数启动explorer 进程。
例如,“explorer /select,c:\Windows”将打开一个窗口,其中选择了c:\windows 文件夹。
所以只需Process.Start("explorer.exe", "/select," + filename) 就足够了。
【讨论】:
使用/select, "filename" 命令行参数执行 Explorer.exe
System.Diagnostics.Process.Start(
"explorer.exe",
string.Format("/select, \"{0}\"", filename));
【讨论】:
select的参数应该用逗号分隔,而不是用空格分隔
\"{0}\") 不是必需的,因为 explorer 会将 /select, 之后的任何内容视为路径(忽略开始和结束空格) - 所以 '/select,{0} '就够了...
包含文件夹,Self 目录有多种表示方式!!!
简单的两种方法是. 和.\. 不知道有什么区别!.. :D
来自 DOS 和 bat 文件...Start . 或 Start .\. (Y)
尝试...这 2 项工作,但请检查这是否是您期望的解决方案!
System.Diagnostics.Process.Start("explorer.exe", @".\.");
或者
System.Diagnostics.Process.Start("explorer.exe", @".");
-
【讨论】: