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


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 相关文章推荐
判断用户是否在线的代码
Mar 05 Javascript
多种方法判断Javascript对象是否存在
Sep 22 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
AngularJS表单基本操作
Jan 09 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
javascript标准库(js的标准内置对象)总结
May 26 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
Jun 14 Javascript
js实现随机点名功能
Dec 23 Javascript
利用promise及参数解构封装ajax请求的方法
Mar 24 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 #Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 #Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
Jan 08 #Javascript
jQuery.buildFragment使用方法及思路分析
Jan 07 #Javascript
js新闻滚动 js如何实现新闻滚动效果
Jan 07 #Javascript
YUI Compressor压缩JavaScript原理及微优化
Jan 07 #Javascript
onclick与listeners的执行先后问题详细解剖
Jan 07 #Javascript
You might like
中英文字符串翻转函数
2008/12/09 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
javascript实现简单的分页特效
2015/08/12 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
Bootstrap Table 在指定列中添加下拉框控件并获取所选值
2017/07/31 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
javascript回调函数详解
2018/02/06 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python开发中module模块用法实例分析
2015/11/12 Python
Django进阶之CSRF的解决
2018/08/01 Python
python实现列表的排序方法分享
2019/07/01 Python
基于HTML5 Canvas 实现弹出框效果
2017/06/05 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
百度JavaScript笔试题
2015/01/15 面试题
高中生的自我鉴定范文
2014/01/24 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
2014年教研员工作总结
2014/12/23 职场文书
法律意见书范文
2015/06/04 职场文书
城南旧事读书笔记
2015/06/29 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
Redis全局ID生成器的实现
2022/06/05 Redis