国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中使用ActiveXObject操作本地文件夾的方法

2019-11-20 20:53:31
字體:
來源:轉載
供稿:網友

在Windows平臺上, js可以調用很多Windows提供的ActivexObject,本文就使用js來實現文檔處理, 和使用js編寫ActiveX做一個簡單介紹.

復制代碼 代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>

 </head>
<script type="text/javascript">
 function readFolder(){
 var filePath = "d://test//";
 var fso = new ActiveXObject("Scripting.FileSystemObject");   //加載控件
 var f = fso.GetFolder(filePath);
 var underFiles = new Enumerator(f.files); //文件夾下文件
for (;!underFiles.atEnd();underFiles.moveNext()){  
             var fn = "" + underFiles.item();  
               //alert(fn);
          var content = readFile(fn,fso);
                 alert(content);
                    }  

 }
function readFile(path,fso){
var f1 = fso.GetFile(path);
var fh = fso.OpenTextFile(f1, 1/*reading*/);
               var content = '';
               while ( !fh.AtEndOfStream ) {
                      content += fh.ReadLine();
               }
               fh.close()
      return content;
}

function writeExcel(){
 var ExcelApp = new ActiveXObject("Excel.Application");
  var ExcelSheet = new ActiveXObject("Excel.Sheet");
  ExcelSheet.Application.Visible = true;
 ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
 ExcelSheet.SaveAs("d://TEST.XLS");
 ExcelSheet.Application.Quit();
}
</script>
 <body>
  <input type="button" value="遍歷文件夾" onclick="readFolder()">
<input type="button" value="寫excel" onclick="writeExcel()">
 </body>
</html>

JavaScript中ActiveXObject對象是啟用并返回 Automation 對象的引用。使用方法:

newObj = new ActiveXObject( servername.typename[, location])

ActiveXObject 對象語法有這些部分:其中newObj是必選項。要賦值為 ActiveXObject 的變量名。
servername是必選項。提供該對象的應用程序的名稱。
typename是必選項。要創建的對象的類型或類。
location是可選項。創建該對象的網絡服務器的名稱。

切記:ActiveX是微軟的東西,故而這玩意兒只有IE才支持!

javaScript中利用ActiveXObject來創建FileSystemObject操作文件

一、功能實現核心:FileSystemObject 對象

要在javascript中實現文件操作功能,主要就是依靠FileSystemobject對象。

二、FileSystemObject編程

使用FileSystemObject 對象進行編程很簡單,一般要經過如下的步驟: 創建FileSystemObject對象、應用相關方法、訪問對象相關屬性 。

(一)創建FileSystemObject對象

創建FileSystemObject對象的代碼只要1行:
var fso = new ActiveXObject("Scripting.FileSystemObject");
上述代碼執行后,fso就成為一個FileSystemObject對象實例。

(二)應用相關方法

創建對象實例后,就可以使用對象的相關方法了。比如,使用CreateTextFile方法創建一個文本文件:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c://myjstest.txt",true");
(三)訪問對象相關屬性
要訪問對象的相關屬性,首先要建立指向對象的句柄,這就要通過get系列方法實現:GetDrive負責獲取驅動器信息,GetFolder負責獲取文件夾信息,GetFile負責獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c:/test.txt的句柄:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c://myjstest.txt");
然后,使用f1訪問對象的相關屬性。比如:

復制代碼 代碼如下:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c://myjstest.txt");
alert("File last modified: " + f1.DateLastModified);

執行上面最后一句后,將顯示c:/myjstest.txt的最后修改日期屬性值。
但有一點請注意:對于使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時直接使用create方法建立的句柄名稱就可以:

復制代碼 代碼如下:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c://myjstest.txt",true");
alert("File last modified: " + f1.DateLastModified);

三、操作驅動器(Drives)

使用FileSystemObject對象來編程操作驅動器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進行交互操作一樣,比如:拷貝、移動文件夾,獲取文件夾的屬性。
(一)Drives對象屬性
Drive對象負責收集系統中的物理或邏輯驅動器資源內容,它具有如下屬性:
l TotalSize:以字節(byte)為單位計算的驅動器大小。
l AvailableSpace或FreeSpace:以字節(byte)為單位計算的驅動器可用空間。
l DriveLetter:驅動器字母。
l DriveType:驅動器類型,取值為:removable(移動介質)、fixed(固定介質)、network(網絡資源)、CD-ROM或者RAM盤。
l SerialNumber:驅動器的系列碼。
l FileSystem:所在驅動器的文件系統類型,取值為FAT、FAT32和NTFS。
l IsReady:驅動器是否可用。
l ShareName:共享名稱。
l VolumeName:卷標名稱。
l Path和RootFolder:驅動器的路徑或者根目錄名稱。

(二)Drive對象操作例程

下面的例程顯示驅動器C的卷標、總容量和可用空間等信息:

復制代碼 代碼如下:

var fso, drv, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
drv = fso.GetDrive(fso.GetDriveName("c://"));
s += "Drive C:" + " 主站蜘蛛池模板: 常熟市| 娱乐| 武功县| 古田县| 南漳县| 宣城市| 方城县| 瑞昌市| 卢氏县| 沙坪坝区| 遂川县| 叙永县| 忻城县| 连江县| 汉川市| 闸北区| 深水埗区| 塔城市| 馆陶县| 昌宁县| 樟树市| 两当县| 安远县| 巴里| 类乌齐县| 西和县| 苏尼特左旗| 武宁县| 白水县| 静海县| 玛多县| 南宫市| 兴义市| 寿光市| 潢川县| 诸暨市| 乳山市| 东乡族自治县| 福海县| 泰来县| 连城县|