javascript 系統(tǒng)文件夾文件操作及參數(shù)介紹
更新時(shí)間:2013年01月08日 10:24:38 作者:
javascript文件操作包括寫入文件、當(dāng)前目錄文件、讀文件、刪除文件、批量刪除,未刪除文件夾,刪除不了當(dāng)前目錄文件等等,感興趣的朋友可以參考下
前期在.net 下進(jìn)行系統(tǒng)操作,同樣的功能實(shí)現(xiàn)起來非常復(fù)雜,沒想到用javascript竟然如此簡單,所以在網(wǎng)上搜索了代碼并加以改進(jìn)。
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);
}
}
//當(dāng)前目錄文件
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]]])
參數(shù)
object
必選項(xiàng)。object 應(yīng)為 FileSystemObject 的名稱。
filename
必選項(xiàng)。指明要打開文件的字符串表達(dá)式。
iomode
可選項(xiàng)。可以是三個常數(shù)之一:ForReading 、 ForWriting 或 ForAppending 。
create
可選項(xiàng)。Boolean 值,指明當(dāng)指定的 filename 不存在時(shí)是否創(chuàng)建新文件。如果創(chuàng)建新文件則值為 True ,如果不創(chuàng)建則為 False 。如果忽略,則不創(chuàng)建新文件。
format
可選項(xiàng)。使用三態(tài)值中的一個來指明打開文件的格式。如果忽略,那么文件將以 ASCII 格式打開。
設(shè)置
iomode 參數(shù)可以是下列設(shè)置中的任一種:
常數(shù) 值 描述
ForReading 1 以只讀方式打開文件。不能寫這個文件。
ForWriting 2 以寫方式打開文件
ForAppending 8 打開文件并從文件末尾開始寫。
format 參數(shù)可以是下列設(shè)置中的任一種:
值 描述
TristateTrue 以 Unicode 格式打開文件。
TristateFalse 以 ASCII 格式打開文件。
TristateUseDefault 使用系統(tǒng)默認(rèn)值打開文件。
*/
//讀文件
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("刪除成功");
}
//批量刪除,未刪除文件夾,刪除不了當(dāng)前目錄文件
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);
}
}
//刪除當(dāng)前目錄文件
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對象負(fù)責(zé)收集系統(tǒng)中的物理或邏輯驅(qū)動器資源內(nèi)容,它具有如下屬性:
l TotalSize:以字節(jié)(byte)為單位計(jì)算的驅(qū)動器大小。
l AvailableSpace或FreeSpace:以字節(jié)(byte)為單位計(jì)算的驅(qū)動器可用空間。
l DriveLetter:驅(qū)動器字母。
l DriveType:驅(qū)動器類型,取值為:removable(移動介質(zhì))、fixed(固定介質(zhì))、network(網(wǎng)絡(luò)資源)、CD-ROM或者RAM盤。
l SerialNumber:驅(qū)動器的系列碼。
l FileSystem:所在驅(qū)動器的文件系統(tǒng)類型,取值為FAT、FAT32和NTFS。
l IsReady:驅(qū)動器是否可用。
l ShareName:共享名稱。
l VolumeName:卷標(biāo)名稱。
l Path和RootFolder:驅(qū)動器的路徑或者根目錄名稱。
*/
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();
復(fù)制代碼 代碼如下:
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);
}
}
//當(dāng)前目錄文件
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]]])
參數(shù)
object
必選項(xiàng)。object 應(yīng)為 FileSystemObject 的名稱。
filename
必選項(xiàng)。指明要打開文件的字符串表達(dá)式。
iomode
可選項(xiàng)。可以是三個常數(shù)之一:ForReading 、 ForWriting 或 ForAppending 。
create
可選項(xiàng)。Boolean 值,指明當(dāng)指定的 filename 不存在時(shí)是否創(chuàng)建新文件。如果創(chuàng)建新文件則值為 True ,如果不創(chuàng)建則為 False 。如果忽略,則不創(chuàng)建新文件。
format
可選項(xiàng)。使用三態(tài)值中的一個來指明打開文件的格式。如果忽略,那么文件將以 ASCII 格式打開。
設(shè)置
iomode 參數(shù)可以是下列設(shè)置中的任一種:
常數(shù) 值 描述
ForReading 1 以只讀方式打開文件。不能寫這個文件。
ForWriting 2 以寫方式打開文件
ForAppending 8 打開文件并從文件末尾開始寫。
format 參數(shù)可以是下列設(shè)置中的任一種:
值 描述
TristateTrue 以 Unicode 格式打開文件。
TristateFalse 以 ASCII 格式打開文件。
TristateUseDefault 使用系統(tǒng)默認(rèn)值打開文件。
*/
//讀文件
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("刪除成功");
}
//批量刪除,未刪除文件夾,刪除不了當(dāng)前目錄文件
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);
}
}
//刪除當(dāng)前目錄文件
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對象負(fù)責(zé)收集系統(tǒng)中的物理或邏輯驅(qū)動器資源內(nèi)容,它具有如下屬性:
l TotalSize:以字節(jié)(byte)為單位計(jì)算的驅(qū)動器大小。
l AvailableSpace或FreeSpace:以字節(jié)(byte)為單位計(jì)算的驅(qū)動器可用空間。
l DriveLetter:驅(qū)動器字母。
l DriveType:驅(qū)動器類型,取值為:removable(移動介質(zhì))、fixed(固定介質(zhì))、network(網(wǎng)絡(luò)資源)、CD-ROM或者RAM盤。
l SerialNumber:驅(qū)動器的系列碼。
l FileSystem:所在驅(qū)動器的文件系統(tǒng)類型,取值為FAT、FAT32和NTFS。
l IsReady:驅(qū)動器是否可用。
l ShareName:共享名稱。
l VolumeName:卷標(biāo)名稱。
l Path和RootFolder:驅(qū)動器的路徑或者根目錄名稱。
*/
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();
相關(guān)文章
原生JavaScript實(shí)現(xiàn)五子棋游戲
這篇文章主要為大家詳細(xì)介紹了原生JavaScript實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
JS中通過slice()&substring()截取字符串前幾位的方法
在Javascript使用字符串中,我們不一定需要全部的字符串,這時(shí)就需要截取字符串,本文主要介紹js中截取字符串前幾位的兩種方法:1、使用slice() 方法;2、使用substring() 方法,本文通過示例代碼介紹的非常詳細(xì),需要的朋友參考下吧2023-12-12
微信小程序中使用自定義字體的實(shí)現(xiàn)與體驗(yàn)優(yōu)化
由于微信支持的字體非常有限,不能滿足個性化的需求,因此在開發(fā)的過程中可能會需要使用自定義字體,下面這篇文章主要給大家介紹了關(guān)于微信小程序中使用自定義字體的實(shí)現(xiàn)與體驗(yàn)優(yōu)化的相關(guān)資料,需要的朋友可以參考下2022-02-02
js簡單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動的方法
這篇文章主要介紹了js簡單實(shí)現(xiàn)點(diǎn)擊左右運(yùn)動的方法,實(shí)例分析了javascript實(shí)現(xiàn)左右運(yùn)動的相關(guān)要點(diǎn)與技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
點(diǎn)選TOP后并不是直接跳到頁頂?shù)?,而是滾動上去
滾動至頁頂,比以前的直接跳到頁頂效果好很多,正的很不錯2008-09-09
javascript使用正則控制input輸入框允許輸入的值方法大全
在做項(xiàng)目的時(shí)候,我們經(jīng)常會遇到控制input輸入框允許輸入的值為數(shù)字,字母,漢字或者混排的情況,那么我們怎么來處理呢,下面我們就來探討怎么通過用javascript正則來實(shí)現(xiàn)2014-06-06
在Html中使用Requirejs進(jìn)行模塊化開發(fā)實(shí)例詳解
在前端模塊化的時(shí)候,不僅僅是js需要進(jìn)行模塊化管理,html有時(shí)候也需要模塊化管理。這里就介紹下如何通過requirejs,實(shí)現(xiàn)html代碼的模塊化開發(fā)2016-04-04

