前期在net 下进行系统操作同样的功能实现起来非常复杂没想到用javascript竟然如此简单所以在网上搜索了代码并加以改进
function PathList(path) {
var fso = new ActiveXObject("ScriptingFileSystemObject");
var fldr = fsoGetFolder(path);
var fd = new Enumerator(fldrSubFolders);
for (; !fdatEnd(); fdmoveNext()) {
sd = fditem();
WScriptEcho(sdpath);
//写入文件
writeFile("atext"sdpath);
//documentwrite(sdpath);
PathList(sdpath);
}
}
function FileList(path) {
var fso = new ActiveXObject("ScriptingFileSystemObject");
var fldr = fsoGetFolder(path);
var fd = new Enumerator(fldrSubFolders);
for (; !fdatEnd(); fdmoveNext()) {
sd = fditem();
var fc = new Enumerator(sdfiles);
for (; !fcatEnd(); fcmoveNext())
{
WScriptEcho(fcitem());
writeFile("Btext"fcitem());
}
WScriptEcho(sdpath);
//写入文件
writeFile("atext"sdpath);
//documentwrite(sdpath);
FileList(sdpath);
}
}
//当前目录文件
function CurFileList(path) {
var fso = new ActiveXObject("ScriptingFileSystemObject");
var fldr = fsoGetFolder(path);
var fc = new Enumerator(fldrfiles);
for (; !fcatEnd(); fcmoveNext())
{
WScriptEcho(fcitem());
writeFile("ctext"fcitem());
}
}
/*
objectOpenTextFile(filename[ iomode[ create[ format]]])
参数
object
必选项object 应为 FileSystemObject 的名称
filename
必选项指明要打开文件的字符串表达式
iomode
可选项可以是三个常数之一ForReading ForWriting 或 ForAppending
create
可选项Boolean 值指明当指定的 filename 不存在时是否创建新文件如果创建新文件则值为 True 如果不创建则为 False 如果忽略则不创建新文件
format
可选项使用三态值中的一个来指明打开文件的格式如果忽略那么文件将以 ASCII 格式打开
设置
iomode 参数可以是下列设置中的任一种
常数 值 描述
ForReading 以只读方式打开文件不能写这个文件
ForWriting 以写方式打开文件
ForAppending 打开文件并从文件末尾开始写
format 参数可以是下列设置中的任一种
值 描述
TristateTrue 以 Unicode 格式打开文件
TristateFalse 以 ASCII 格式打开文件
TristateUseDefault 使用系统默认值打开文件
*/
//读文件
function readFile(filename){
var fso = new ActiveXObject("ScriptingFileSystemObject");
var f = fsoOpenTextFile(filename);
var s = "";
while (!fAtEndOfStream)
s += fReadLine()+"n";
fClose();
return s;
}
//写文件
function writeFile(filenamefilecontent){
var fso f s ;
fso = new ActiveXObject("ScriptingFileSystemObject");
f = fsoOpenTextFile(filenametrue);
fWriteLine(filecontent);
fClose();
//alert(ok);
WScriptEcho("写入成功");
}
//删除文件
function deleteFile(filenamefilecontent){
var fso f s ;
fso = new ActiveXObject("ScriptingFileSystemObject");
f = fsoGetFile(filename);
fDelete();
//alert(ok);
WScriptEcho("删除成功");
}
//批量删除未删除文件夹删除不了当前目录文件
function DelFileList(path) {
var fso = new ActiveXObject("ScriptingFileSystemObject");
var fldr = fsoGetFolder(path);
var fd = new Enumerator(fldrSubFolders);
for (; !fdatEnd(); fdmoveNext()) {
sd = fditem();
var fc = new Enumerator(sdfiles);
for (; !fcatEnd(); fcmoveNext())
{
WScriptEcho(fcitem());
writeFile("Btext"fcitem());
fcitem()Delete();
WScriptEcho("删除成功");
}
WScriptEcho(sdpath);
//写入文件
writeFile("atext"sdpath);
writeFile("atext""删除完毕");
//documentwrite(sdpath);
DelFileList(sdpath);
}
}
//删除当前目录文件
function CurDelFileList(path) {
var fso = new ActiveXObject("ScriptingFileSystemObject");
var fldr = fsoGetFolder(path);
var fc = new Enumerator(fldrfiles);
for (; !fcatEnd(); fcmoveNext())
{
WScriptEcho(fcitem());
writeFile("ctext"fcitem());
fcitem()Delete();
writeFile("ctext""删除成功");
}
}
/*
Drive对象负责收集系统中的物理或逻辑驱动器资源内容它具有如下属性
l TotalSize以字节(byte)为单位计算的驱动器大小
l AvailableSpace或FreeSpace以字节(byte)为单位计算的驱动器可用空间
l DriveLetter驱动器字母
l DriveType驱动器类型取值为removable(移动介质)fixed(固定介质)network(网络资源)CDROM或者RAM盘
l SerialNumber驱动器的系列码
l FileSystem所在驱动器的文件系统类型取值为FATFAT和NTFS
l IsReady驱动器是否可用
l ShareName共享名称
l VolumeName卷标名称
l Path和RootFolder驱动器的路径或者根目录名称
*/
function getDriveinfo()
{
var fso drv s ="";
fso = new ActiveXObject("ScriptingFileSystemObject");
drv = fsoGetDrive(fsoGetDriveName("c:"));
s += "Drive C:" + " ";
s += drvVolumeName + "n";
s += "Total Space: " + drvTotalSize / ;
s += " Kb" + "n";
s += "Free Space: " + drvFreeSpace / ;
s += " Kb" + "n";
WScriptEcho(s);
}
CurFileList("D:web_");
FileList("D:web_");
getDriveinfo();