WEB开发网
开发学院网页设计JavaScript javascript 系统文件夹文件操作 阅读

javascript 系统文件夹文件操作

 2013-01-08 16:04:04 来源:WEB开发网   
核心提示: 前期在.net 下进行系统操作,同样的功能实现起来非常复杂,javascript 系统文件夹文件操作,没想到用javascript竟然如此简单,所以在网上搜索了代码并加以改进,l ShareName:共享名称,l VolumeName:卷标名称,function PathList(path) {

 前期在.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();

Tags:javascript 文件夹 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接