Shell.BrowseForFolder可以创建一个对话框让用户选择一个文件夹,然后返回所选文件夹的Folder对象。可以实现获取文件夹的绝对路径。然后可以实现文件夹的相关操作,如文件夹上传等等。
使用过程非常简单
var Message = "请选择上传文件夹"; var Shell = new ActiveXObject("Shell.Application"); var Folder = Shell.BrowseForFolder(0, Message, 0x0011, 0); //起始目录为:桌面 alert(Folder.Self.Path);
打开的对话框的形式为
BrowseForFolder的创建需要4个参数:
第一个为对话框的窗体句柄,一般设置为0;
第二个为打开窗体的说明,如上图中的“请选择上传文件夹”;
第三个参数控制打开的窗口中显示的内容以及窗体中某些元素的状态,如不显示“新建文件夹”;
第四个参数为可选参数,只要控制对话框中文件系统的根目录。缺省值为“桌面”。
第一个和第二个参数比较简单,主要是第三个参数和第四个参数情况比较多。以下罗列出了比较常见的情况。
【测试环境为window 7 64 + IE11】
【高清大图点击下载】
=====================================================================================================================
第三个参数控制对话框元素状态及文件系统的显示内容。
=====================================================================================================================
=====================================================================================================================
第四个参数主要控制文件系统的根目录
当第四个参数为11和22时,根目录都是程序,但是是不同的目录。参数为11时的目录为C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu下的程序文件夹。参数22的目录为C:\ProgramData\Microsoft\Windows\Start Menu\Programs下的程序文件夹。