javascript 系统文件夹文件操作(很强大哦)

来源:互联网 发布:资金博弈指标源码 编辑:程序博客网 时间:2024/05/16 09:37
前期在.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();

原创粉丝点击