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 相关文章推荐
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
jquery插件制作 图片走廊 gallery
Aug 17 Javascript
JavaScript使用yield模拟多线程的方法
Mar 19 Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
Bootstrap CSS组件之导航(nav)
Dec 17 Javascript
详解在 Angular 项目中添加 clean-blog 模板
Jul 04 Javascript
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
详解JavaScript中的坐标和距离
May 27 Javascript
JS中多层次排序算法的实现代码
Jan 06 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
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
php制作的简单验证码识别代码
2016/01/26 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
jQuery代码优化方法总结
2018/01/29 jQuery
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python3使用requests发闪存的方法
2016/05/11 Python
django之session与分页(实例讲解)
2017/11/13 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
机械电子工程专业自荐书
2014/06/10 职场文书
华清池导游词
2015/02/02 职场文书