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 相关文章推荐
让mayfish支持mysqli数据库驱动的实现方法
May 22 Javascript
js触发onchange事件的方法说明
Mar 08 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
javascript构造函数以及原型对象的理解
Jan 13 Javascript
Angular2中select用法之设置默认值与事件详解
May 07 Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 Javascript
详解tween.js 中文使用指南
Jan 05 Javascript
js实现旋转的星空效果
Nov 01 Javascript
vue实现计步器功能
Nov 01 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
js实现文字头像的生成代码
Mar 07 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函数常用用法小结
2010/02/08 PHP
自制PHP框架之设计模式
2017/05/07 PHP
DOM相关内容速查手册
2007/02/07 Javascript
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
document.write的几点使用心得
2014/05/14 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
Vue 自定义动态组件实例详解
2018/03/28 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
js实现坦克大战游戏
2020/02/24 Javascript
微信小程序scroll-view的滚动条设置实现
2020/03/02 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
python实现控制台输出颜色
2021/03/02 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
百度吧主申请感言
2014/01/12 职场文书
大学生最新职业生涯规划书范文
2014/01/12 职场文书
买房协议书范本
2014/10/23 职场文书
外出培训学习心得体会
2016/01/18 职场文书
Flask response响应的具体使用
2021/07/15 Python