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 相关文章推荐
Code:findPosX 和 findPosY
Dec 20 Javascript
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
Bootstrap表单Form全面解析
Jun 13 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
jQuery基于正则表达式的表单验证功能示例
Jan 21 Javascript
使用Electron构建React+Webpack桌面应用的方法
Dec 15 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
js实现弹窗猜数字游戏
Nov 26 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中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
JS获取填报扩展单元格控件的值的解决办法
2017/07/14 Javascript
JS实现多物体运动的方法详解
2018/01/23 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
vue点击当前路由高亮小案例
2019/09/26 Javascript
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python批量下载图片的三种方法
2013/04/22 Python
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Anaconda多环境多版本python配置操作方法
2017/09/12 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
英国最大的手表网站:The Watch Hut
2017/03/31 全球购物
2014年乡镇领导个人整改措施
2014/09/19 职场文书
党员个人剖析材料
2014/09/30 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
关于颐和园的导游词
2015/01/30 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android