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 相关文章推荐
js 获取元素下面所有li的两种方法
Apr 14 Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
EasyUI中在表单提交之前进行验证
Jul 19 Javascript
JavaScript对象_动力节点Java学院整理
Jun 23 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
Sep 04 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
Jan 12 Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
Aug 20 Javascript
微信小程序轮播图swiper代码详解
Dec 01 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
Laravel 5框架学习之表单
2015/04/08 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
jquery.Jwin.js 基于jquery的弹出层插件代码
2012/05/23 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
基于vue中css预加载使用sass的配置方式详解
2018/03/13 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
strstr()的简单实现
2013/09/26 面试题
医药营销个人求职信
2014/04/12 职场文书
2014年关工委工作总结
2014/11/17 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL