JavaScipt 是一件利器。若能正確利用,可以幫助我們完成很多工作
來我們顯示一個基本的文本功能,就是對文本文件進(jìn)行寫操作。
看以下代碼:
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 提供的服務(wù)和功能,來完成本身想需要的效果。
除了需要對文件寫,我們需要知道有哪些文件?再確定哪些需要增加內(nèi)容,哪些不需要增加內(nèi)容。
下面函數(shù)就是JavaScript 獲取某路徑下所有文件的函數(shù)
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 //進(jìn)行遞歸獲取子目錄和目錄中的文件
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 }
這里使用了一下遞歸的技巧,先確定子目錄,再層層遞歸。
請各位多多指教。若大家有更好的方法,請留言交流學(xué)習(xí)。
MK-TIANYI