Posted in Javascript onJanuary 08, 2013
前期在.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();
javascript 系统文件夹文件操作及参数介绍
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@