Scripting.FileSystemObject 主要是用来操作本地文件、目录等,查询、创建、删除等操作,由于在flex中提供了操作控件,但并不能获取文件、目录的路径,因此,利用js实现是不错的选择。
1.搜寻本地某目录下的所有文件:
function searchFiles(path){ var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.GetFolder(path); //alert(f); return getFiles(f)+ getSubFolders(f); } function getFiles(f) { var fc = new Enumerator(f.files); var allFiles=""; //以下内容是显示文件名 for (; !fc.atEnd(); fc.moveNext()) { allFiles+=fc.item()+";"; } return allFiles ; } function getSubFolders(f){ var fso = new ActiveXObject("Scripting.FileSystemObject"); fk = new Enumerator(f.SubFolders); var s=""; //循环子目录 for (; !fk.atEnd(); fk.moveNext()) { s+=getFiles(fk.item()); } return s; }
searchFiles返回在path路径下所有文件(绝对路径),若要获取.mp3文件集合,只需对获取到得所有路径进行过滤即可
2.创建文件
var fso = new ActiveXObject("Scripting.FileSystemObject"); if(fso.FileExists(path)) alert("文件名已存在,请重新命名"); else // alert(path.length); fso.CreateTextFile(path,true);
CreateTextFile函数的参数true表示,创建并覆盖已存在的文件
3、重命名文件
该控件无重命名功能,若要实现,需先删除原先文件,然后创建,以变相实现