创建、读写、删除系统文件/文件夹:http://blog.sina.com.cn/s/blog_55e9c34b0102wsky.html
一些ActiveX的classid: 选择系统文件夹: <object style="width: 0;height: 0" classid="CLSID:13709620-C279-11CE-A49E-444553540000" id="Shell_sys" ></object > try { var filename = document.getElementById(name).value; if(!filename){ filename = 0; } var Message = "请选择上传文件夹"; // var shell = new ActiveXObject('Shell.Application'); var folder = Shell_sys.BrowseForFolder(0,Message,64,0); // var Folder = Shell.BrowseForFolder(0, Message, 64, 0); //起始目录为:桌面 if(!folder){ return layer.msg('选择已取消',{icon:2}); } sys_controller.memory[name] = folder.Self.Path; var a = 'face_'+name; localStorage.setItem(a,folder.Self.Path) } catch (e) { console.log(e); layer.msg(e.message,{icon:2}); } 直接打开系统文件夹: <object style="width: 0;height: 0" classid="CLSID:F935DC22-1CF0-11d0-ADB9-00C04FD58A0B" id="Shellopen_sys" ></object > try{ var filename = document.getElementById(‘Shellopen_sys’).value; console.log(filename) if(!filename){ return layer.msg('没有可打开的路径',{icon:2}) } Shellopen_sys.Run("\""+filename+"\"", 1, false ); //obj.run("osk");/*打开屏幕键盘*/ //obj.Run('"'+filename+'"'); }catch(e){ layer.msg(e.message,{icon:2}); } 指定路径创建文件夹、文件、TXT文本: //创建总文件夹 var sysFolder = "f:\\faceAlarm"; var objFSO = new ActiveXObject("Scripting.FileSystemObject"); if (!objFSO.FolderExists(sysFolder)){ // 创建文件夹 var sysFolderName = objFSO.CreateFolder(sysFolder); console.log("创建文件夹: " + sysFolderName); } //创建每条报警文件夹 var nowtime = new Date(); var alarmFolder = 'f:\\faceAlarm\\' + nowtime.getFullYear() + (nowtime.getMonth()+1) + nowtime.getDate()+nowtime.getHours()+nowtime.getMinutes()+nowtime.getSeconds(); console.log(alarmFolder) if (!objFSO.FolderExists(alarmFolder)){ // 创建文件夹 var alarmFolderName = objFSO.CreateFolder(alarmFolder); console.log("创建文件夹: " + alarmFolderName); } //创建每条报警txt var alarmFile = alarmFolder+"\\myjstest.txt"; var f1 = objFSO.createtextfile(alarmFile,true) f1.WriteLine("Testing 1, 2, 3.") ; f1.WriteBlankLines(3); f1.Write ("我是深情小建."); f1.Close(); var txt = objFSO.GetFile(alarmFile); console.log(txt) // 复制和删除文件夹(相当于移动文件夹) // objFSO.CopyFolder('f:\\faceAlarm','e:\\test'); // objFSO.DeleteFolder('f:\\faceAlarm');//删除faceAlarm文件夹 objFSO.DeleteFolder('f:\\faceAlarm\\**');//删除faceAlarm内部所有文件 遍历文件夹 objFSO.GetFolder(folder.Self.Path).size 指定文件夹存储大小,如果内部存在空文件夹/空文本值仍为0 var folderMes = objFSO.GetFolder(folder.Self.Path) var fc = new Enumerator(folderMes.files); var s = ""; for (; !fc.atEnd(); fc.moveNext()) { s += fc.item(); s += "<br/>"; } var fk = new Enumerator(folderMes.SubFolders); for (; !fk.atEnd(); fk.moveNext()) { s += fk.item(); s += "<br/>"; } //s为指定文件夹下所有文件/文件夹路径,为空则代表指定文件夹为空 if(!!s || folderMes.size !=0){ return layer.msg('请选择空文件夹',{icon:2}) }
这是之前写项目时记录在有道上的东西,现在整理一下,粗略看了下有些地方有点乱,下次有时间再整理。