Unity技术 资源管理器explorer使用

Unity技术 资源管理器explorer使用
简介
在Window上可以使用explorer来启动资源管理器,来查看相应的内容。在Unity中编写编辑器时,有时候会希望处理完成后打开对应的文件所在的位置,以方便给使用者提示生成的文件位置或者查看生成结果,本文将介绍一下explorer的命令行参数及如何在C#中使用

对于Explorer大家应该是经常用到,如果觉得陌生,可以打开"任务管理器"找到explorer,然后结束掉此进程,看看会出现什么情况

声明
本文中的内容属于个人总结整理而来,个人水平有限,对于部分细节难免有理解错误及遗漏之处,如果您在阅读过程中有所发现,希望您能指正,同时文章中的部分内容也参考了其它大神的文章,如果文章中的内容侵犯了您的权益,表示非常歉意,请您指出,我将尽快修改。

如果您进行转载,请标明出处。

资源管理器explorer使用(http://www.liyubin.com/articles/2019/04/11/1554960175844.html)

Explorer命令行参数
命令格式:

Explorer /n[[,/root],[path]][[,/select],[path filename]]

参数说明:

/n 表示以“我的电脑”方式打开一个新的窗口,通常打开的是Windows安装分区的根目录

/e 表示以“资源管理器”方式打开一个新的窗口,通常打开的也是Windows安装分区的根目录

/root,[path] 表示打开指定的文件夹,/root表示只显示指定文件夹下面的文件(夹),不显示其它磁盘分区和文件夹;[path]表示指定的路径

如果不加/root参数,而只用[path]参数,则可以显示其它磁盘分区和文件夹中的内容。另外,[path]还可以指定网络共享文件夹。

/select,[path filename]表示打开指定的文件夹并且选中指定的文件,[path filename]表示指定的路径和文件名.

如果不加/select参数,则系统会用相应的关联程序打开该文件。如果[path filename]不跟文件名就会打开该文件夹的上级目录并选中该文件夹。

示例:

Explorer /n

此命令使用默认设置打开一个资源管理器窗口。显示的内容通常是安装 Windows 的驱动器的根目录。

Explorer /e

此命令使用默认视图启动 Windows 资源管理器。

Explorer /e,C:Windows

此命令使用默认视图启动 Windows 资源管理器,并把焦点定位在 C:Windows。

Explorer /root, C:WindowsCursors

此命令启动 Windows 资源管理器后焦点定位在 C:WindowsCursors folder。此示例使用 C:WindowsCursors 作为 Windows 资源管理器的"根"目录。
备注:请注意命令中"/root"参数后面的逗号。

Explorer /select, C:WindowsCursorsbanana.ani

此命令启动 Windows 资源管理器后选定"C:WindowsCursorsbanana.ani"文件。
备注:请注意命令中"/select"参数后面的逗号。

Unity中使用C#中调用Explorer
在C#脚本中可以使用Process来调用explorer来打开需要的目录或者选中需要的文件。

调用explorer在win上打开目录

ExplorerUtil.OpenExplorerFolder(@"C:Windows")

调用explorer在Win上打开目录并选中希望选中的文件

ExplorerUtil.OpenExplorerFile(@"c:windowssystem32calc.exe")

注意事项:

对于目录或者文件路径需要特别注意的,只能使用""而不能使用"/"

public static class ExplorerUtil
{
public static void OpenExplorerFolder(string dirPath)
{

if UNITY_EDITOR

System.Diagnostics.Process open = new System.Diagnostics.Process();
open.StartInfo.FileName = "explorer";
open.StartInfo.Arguments = @"/e /root," + dirPath.Replace("/", "\");
open.Start();

endif

}

public static void OpenExplorerFile(string filePath)
{

if UNITY_EDITOR

System.Diagnostics.Process open = new System.Diagnostics.Process();
open.StartInfo.FileName = "explorer";
open.StartInfo.Arguments = @"/select," + filePath.Replace("/", "\");
open.Start();

endif

}
}
更多unity2018的功能介绍请到paws3d爪爪学院查找。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章