Unity技术 资源管理器explorer使用
简介
在Window上可以使用explorer来启动资源管理器,来查看相应的内容。在Unity中编写编辑器时,有时候会希望处理完成后打开对应的文件所在的位置,以方便给使用者提示生成的文件位置或者查看生成结果,本文将介绍一下explorer的命令行参数及如何在C#中使用
对于Explorer大家应该是经常用到,如果觉得陌生,可以打开"任务管理器"找到explorer,然后结束掉此进程,看看会出现什么情况
声明
本文中的内容属于个人总结整理而来,个人水平有限,对于部分细节难免有理解错误及遗漏之处,如果您在阅读过程中有所发现,希望您能指正,同时文章中的部分内容也参考了其它大神的文章,如果文章中的内容侵犯了您的权益,表示非常歉意,请您指出,我将尽快修改。
如果您进行转载,请标明出处。
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:\Windows\Cursors
此命令启动 Windows 资源管理器后焦点定位在 C:\Windows\Cursors folder。此示例使用 C:\Windows\Cursors 作为 Windows 资源管理器的"根"目录。
备注:请注意命令中"/root"参数后面的逗号。
Explorer /select, C:\Windows\Cursors\banana.ani
此命令启动 Windows 资源管理器后选定"C:\Windows\Cursors\banana.ani"文件。
备注:请注意命令中"/select"参数后面的逗号。
Unity中使用C#中调用Explorer
在C#脚本中可以使用Process来调用explorer来打开需要的目录或者选中需要的文件。
调用explorer在win上打开目录
ExplorerUtil.OpenExplorerFolder(@"C:\Windows")
调用explorer在Win上打开目录并选中希望选中的文件
ExplorerUtil.OpenExplorerFile(@"c:\windows\system32\calc.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爪爪学院查找。