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.