javascript 系統檔案夾檔案操作

來源:互聯網
上載者:User

  前期在.net 下進行系統操作,同樣的功能實現起來非常複雜,沒想到用javascript竟然如此簡單,所以在網上搜尋了代碼並加以改進。

  function PathList(path) {

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var fldr = fso.GetFolder(path);

  var fd = new Enumerator(fldr.SubFolders);

  for (; !fd.atEnd(); fd.moveNext()) {

  sd = fd.item();

  WScript.Echo(sd.path);

  //寫入檔案

  writeFile("a.text",sd.path);

  //document.write(sd.path);

  PathList(sd.path);

  }

  }

  function FileList(path) {

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var fldr = fso.GetFolder(path);

  var fd = new Enumerator(fldr.SubFolders);

  for (; !fd.atEnd(); fd.moveNext()) {

  sd = fd.item();

  var fc = new Enumerator(sd.files);

  for (; !fc.atEnd(); fc.moveNext())

  {

  WScript.Echo(fc.item());

  writeFile("B.text",fc.item());

  }

  WScript.Echo(sd.path);

  //寫入檔案

  writeFile("a.text",sd.path);

  //document.write(sd.path);

  FileList(sd.path);

  }

  }

  //目前的目錄檔案

  function CurFileList(path) {

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var fldr = fso.GetFolder(path);

  var fc = new Enumerator(fldr.files);

  for (; !fc.atEnd(); fc.moveNext())

  {

  WScript.Echo(fc.item());

  writeFile("c.text",fc.item());

  }

  }

  /*

  object.OpenTextFile(filename[, iomode[, create[, format]]])

  參數

  object

  必選項。object 應為 FileSystemObject 的名稱。

  filename

  必選項。指明要開啟檔案的字串運算式。

  iomode

  可選項。可以是三個常數之一:ForReading 、 ForWriting 或 ForAppending 。

  create

  可選項。Boolean 值,指明當指定的 filename 不存在時是否建立新檔案。如果建立新檔案則值為 True ,如果不建立則為 False 。如果忽略,則不建立新檔案。

  format

  可選項。使用三態值中的一個來指明開啟檔案的格式。如果忽略,那麼檔案將以 ASCII 格式開啟。

  設定

  iomode 參數可以是下列設定中的任一種:

  常數 值 描述

  ForReading 1 以唯讀方式開啟檔案。不能寫這個檔案。

  ForWriting 2 以寫方式開啟檔案

  ForAppending 8 開啟檔案並從檔案末尾開始寫。

  format 參數可以是下列設定中的任一種:

  值 描述

  TristateTrue 以 Unicode 格式開啟檔案。

  TristateFalse 以 ASCII 格式開啟檔案。

  TristateUseDefault 使用系統預設值開啟檔案。

  */

  //讀檔案

  function readFile(filename){

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var f = fso.OpenTextFile(filename,1);

  var s = "";

  while (!f.AtEndOfStream)

  s += f.ReadLine()+"n";

  f.Close();

  return s;

  }

  //寫檔案

  function writeFile(filename,filecontent){

  var fso, f, s ;

  fso = new ActiveXObject("Scripting.FileSystemObject");

  f = fso.OpenTextFile(filename,8,true);

  f.WriteLine(filecontent);

  f.Close();

  //alert('ok');

  WScript.Echo("寫入成功");

  }

  //刪除檔案

  function deleteFile(filename,filecontent){

  var fso, f, s ;

  fso = new ActiveXObject("Scripting.FileSystemObject");

  f = fso.GetFile(filename);

  f.Delete();

  //alert('ok');

  WScript.Echo("刪除成功");

  }

  //大量刪除,未刪除檔案夾,刪除不了目前的目錄檔案

  function DelFileList(path) {

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var fldr = fso.GetFolder(path);

  var fd = new Enumerator(fldr.SubFolders);

  for (; !fd.atEnd(); fd.moveNext()) {

  sd = fd.item();

  var fc = new Enumerator(sd.files);

  for (; !fc.atEnd(); fc.moveNext())

  {

  WScript.Echo(fc.item());

  writeFile("B.text",fc.item());

  fc.item().Delete();

  WScript.Echo("刪除成功");

  }

  WScript.Echo(sd.path);

  //寫入檔案

  writeFile("a.text",sd.path);

  writeFile("a.text","刪除完畢");

  //document.write(sd.path);

  DelFileList(sd.path);

  }

  }

  //刪除目前的目錄檔案

  function CurDelFileList(path) {

  var fso = new ActiveXObject("Scripting.FileSystemObject");

  var fldr = fso.GetFolder(path);

  var fc = new Enumerator(fldr.files);

  for (; !fc.atEnd(); fc.moveNext())

  {

  WScript.Echo(fc.item());

  writeFile("c.text",fc.item());

  fc.item().Delete();

  writeFile("c.text","刪除成功");

  }

  }

  /*

  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:磁碟機的路徑或者根目錄名稱。

  */

  function getDriveinfo()

  {

  var fso, drv, s ="";

  fso = new ActiveXObject("Scripting.FileSystemObject");

  drv = fso.GetDrive(fso.GetDriveName("c:"));

  s += "Drive C:" + " - ";

  s += drv.VolumeName + "n";

  s += "Total Space: " + drv.TotalSize / 1024;

  s += " Kb" + "n";

  s += "Free Space: " + drv.FreeSpace / 1024;

  s += " Kb" + "n";

  WScript.Echo(s);

  }

  CurFileList("D:web_01");

  FileList("D:web_01");

  getDriveinfo();

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.