Implement “Open Containing Folder” and highlight f

2019-02-03 07:05发布

This can be a handy functionality to have in a program that works with files/folders. It's easy enough to actually open the containing folder using:

System.Diagnostics.Process.Start( *path to folder* );

...but how do I go about actually selecting the target file within that parent folder? If I use the Process.Start method it actually attempts to open the file.

3条回答
太酷不给撩
2楼-- · 2019-02-03 07:44

Execute Explorer.exe with /select, "filename" command line argument

System.Diagnostics.Process.Start(
    "explorer.exe", 
    string.Format("/select, \"{0}\"", filename));
查看更多
乱世女痞
3楼-- · 2019-02-03 07:53

Containing folder, Self directory is represented in many ways!!! Simple 2 ways are . and, .\. no idea what is the difference!.. :D From DOS and bat files... Start . or Start .\. (Y)

Try... these 2 works, but check whether this is the solution u expect!

System.Diagnostics.Process.Start("explorer.exe", @".\.");

Or

System.Diagnostics.Process.Start("explorer.exe", @".");

-

  • Sometimes the application is run from a temp directory or a different dir (eg: in Sandbox... or while being scanned by antivirus... etc. :)
查看更多
Explosion°爆炸
4楼-- · 2019-02-03 08:03

According to Windows Explorer Command-Line Options you just need to start an explorer process with /select parameter.

For instance, 'explorer /select,c:\Windows' will open a window with c:\windows folder selected.

So simply Process.Start("explorer.exe", "/select," + filename) should be enough.

查看更多
登录 后发表回答