javascript 系统文件夹文件操作及参数介绍

 更新时间:2013年01月08日 10:24:38   作者:  
javascript文件操作包括写入文件、当前目录文件、读文件、删除文件、批量删除,未删除文件夹,删除不了当前目录文件等等,感兴趣的朋友可以参考下
前期在.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();

相关文章

  • 基于node.js的快速开发透明代理

    基于node.js的快速开发透明代理

    服务器端js(Server-Side Javascrpt)很早也就有了,JAVA中也有javascript 的script引擎。
    2010-12-12
  • JS实现验证码倒计时的注册页面

    JS实现验证码倒计时的注册页面

    这篇文章给大家分享一段实例代码发送验证码之后开始60S倒计时功能,具体实例代码大家参考下本文
    2018-01-01
  • JS实现网页游戏中滑块响应鼠标点击移动效果

    JS实现网页游戏中滑块响应鼠标点击移动效果

    这篇文章主要介绍了JS实现网页游戏中滑块响应鼠标点击移动效果,涉及JavaScript针对页面鼠标事件、滚动事件及元素属性等相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • 详解js实时获取并显示当前时间的方法

    详解js实时获取并显示当前时间的方法

    这篇文章主要介绍了js实时获取并显示当前时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JS弹出窗口插件zDialog简单用法示例

    JS弹出窗口插件zDialog简单用法示例

    这篇文章主要介绍了JS弹出窗口插件zDialog简单用法,结合简单实例形式分析了zDialog插件弹出窗口的基本使用方法与参数含义,需要的朋友可以参考下
    2016-06-06
  • 20个你不得不知道的JS async/await实用技巧

    20个你不得不知道的JS async/await实用技巧

    JavaScript的async和await关键词是现代JavaScript异步编程的核心,它们让异步代码看起来和同步代码几乎一样,使得异步编程变得更加直观和易于管理,本文介绍20个关于async/await的实用技巧,将大大提升编程效率和代码的清晰度,需要的朋友可以参考下
    2023-12-12
  • JS通过Cookie判断页面是否为首次打开

    JS通过Cookie判断页面是否为首次打开

    这篇文章主要介绍了JS通过Cookie判断页面是否为首次打开 的相关资料,需要的朋友可以参考下
    2016-02-02
  • WebSocket中心跳检测与断开重连机制详解

    WebSocket中心跳检测与断开重连机制详解

    心跳检测是指在WebSocket连接过程中定时向服务端发送和接收心跳消息,来确定当前连接是否是正常状态的检测机制,断开重连是指在WebSocket不正常断开连接后,进行重新连接的策略,下面我们就来看看这二者的具体实现吧
    2024-01-01
  • javascript实现随机抽奖功能

    javascript实现随机抽奖功能

    这篇文章主要为大家详细介绍了javascript实现随机抽奖功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • JavaScript二叉搜索树构建操作详解

    JavaScript二叉搜索树构建操作详解

    这篇文章主要介绍了JavaScript二叉搜索树构建操作详解,文章围绕主题展开二叉搜索树的性质以及二叉搜索树的构建、查找和删除等内容,需要的小伙伴可以参考一下
    2022-07-07

最新评论