JavaScipt 是一件利器。若能正确利用,可以帮助我们完成很多工作
来我们显示一个基本的文本功能,就是对文本文件进行写操作。
看以下代码:
1 function WFile(ContentArray,FilePath)
2 {
3 var fso,f,i;
4 fso = new ActiveXObject("Scripting.FileSystemObject");
5 f = fso.OpenTextFile(FilePath,2);
6 for (var i = 0;i< ContentArray.length ;i++ )
7 {
8 f.WriteLine(ContentArray[i]);
9 }
10 f.close();
11 alert(" OK,The File has change Value. ");
12 }
JavaScript 依靠着Windows 提供的服务和功能,来完成本身想需要的效果。
除了需要对文件写,我们需要知道有哪些文件?再确定哪些需要增加内容,哪些不需要增加内容。
下面函数就是JavaScript 获取某路径下所有文件的函数
1 ///////////////////////////////////////////////////////////////
2 //获取所有文件
3 function getFolderList(folderspec)
4 {
5 var arrFloder = new Array();
6 var arrFile = new Array();
7 var fso = new ActiveXObject("Scripting.FileSystemObject");
8 doGetFolderList(arrFloder,folderspec,fso,arrFile);
9 return arrFile;
10 }
11 //////////////////////////////////////////////////////////////
12
13 //////////////////////////////////////////////////////////////
14 //进行递归获取子目录和目录中的文件
15 function doGetFolderList(arrFloder,folderspec,fso,arrFile)
16 {
17 var f, fc1, fc2, s, i;
18 f = fso.GetFolder(folderspec);
19 fc1 = new Enumerator(f.SubFolders);
20 for(;!fc1.atEnd(); fc1.moveNext())
21 {
22 i = arrFloder.length;
23 arrFloder[i] = fc1.item();
24 //递归,获取子目录
25 doGetFolderList(arrFloder,fc1.item(),fso,arrFile);
26 }
27 /////////////
28 fc2 = new Enumerator(f.files);
29 for(;!fc2.atEnd();fc2.moveNext())
30 {
31 i = arrFile.length;
32 //arrFile[i] = new Array(1);
33 arrFile[i] = fc2.item();
34 }
35 //alert(arrFile);
36
37 }
这里使用了一下递归的技巧,先确定子目录,再层层递归。
请各位多多指教。若大家有更好的方法,请留言交流学习。
MK-TIANYI