<html>
<head>
</head>
<body>
源目录:<input id="txtOld" value="F:\开发\fso"></input>
新目录:<input id="txtNew"></input>
对比:<input id="btnCompare" onclick="compareFile()" type="button" value="compare"></input>
<br/>
<textarea id="txtContent" style="width:100%;height:100%"></textarea>
<script>
var subfolder;
var thefile;
var filename;
var FSO = new ActiveXObject("Scripting.FileSystemObject");
//var rootFolder = FSO.getFolder();
var fileArray = [];
var newFileObj = {};
var deleteFileArray = [];
var oldFolderPath = "", newFolderPath = "";

function $(id)
{
return document.getElementById(id);
}

function compareFile()
{
fileArray = [];
deleteFileArray = [];
oldFolderPath = $("txtOld").value;
newFolderPath = $("txtNew").value;
Scan(newFolderPath);
$("txtContent").value = fileArray.join("\r\n");
ScanOldFolder(oldFolderPath );
// alert(fileArray.length);
alert(deleteFileArray.length);
}

function ScanOldFolder(folderName)
{
var folder = FSO.getFolder(folderName);
if (folder.subFolders.count > 0)
{
var fenum = new Enumerator(folder.subFolders);
for (var i = 0 ; !fenum.atEnd(); fenum.moveNext(),i++){
//datas.WriteLine("datas["+ i +"] = \""+ fenum.item().Name +"\";") ;
Scan(fenum.item().path);
}
}
//'下面一段将文件夹中的文件路径显示在LABEL上并刷新窗体
if (folder.Files.count > 0)
{
var fenum = new Enumerator(folder.Files);
for (var i = 0 ; !fenum.atEnd(); fenum.moveNext(),i++){
//datas.WriteLine("datas["+ i +"] = \""+ fenum.item().Name +"\";") ;

var newPath = fenum.item().path.replace(newFolderPath + "\", "");
if (typeof newFileObj[newPath] != "undefined")
{
deleteFileArray.push(newPath);
}
}
}
}

function Scan(folderName)
{
var folder = FSO.getFolder(folderName);
if (folder.subFolders.count > 0)
{
var fenum = new Enumerator(folder.subFolders);
for (var i = 0 ; !fenum.atEnd(); fenum.moveNext(),i++){
//datas.WriteLine("datas["+ i +"] = \""+ fenum.item().Name +"\";") ;
Scan(fenum.item().path);
}
}
//'下面一段将文件夹中的文件路径显示在LABEL上并刷新窗体
if (folder.Files.count > 0)
{
var fenum = new Enumerator(folder.Files);
for (var i = 0 ; !fenum.atEnd(); fenum.moveNext(),i++){
//datas.WriteLine("datas["+ i +"] = \""+ fenum.item().Name +"\";") ;
var oldFile = fenum.item().path.replace(oldFolderPath+"\", "");
fileArray.push(oldFile);
newFileObj[oldFile] = oldFile;
}
}
}
</script>
</body>
</html>

fso查找被删除的文件的更多相关文章

  1. Linux系统中查找、删除重复文件,释放磁盘空间。

    在Linux系操作系统中查找并删除重复文件的方法的确有很多,不过这里介绍的是一款非常简单实用的软件FSlint.FSlint是一个重复文件查找工具,可以使用它来清除不必要的重复文件,笔者经常使用它来释 ...

  2. Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具

    查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...

  3. 利用lsof命令查找已经删除的文件来释放磁盘空间

    测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...

  4. 在 Linux 中查找和删除重复文件

    原文链接:https://www.linuxprobe.com/linux-FSlint.html FSlint同时具有GUI和CLI模式.因此,对于新手来说,这是一个用户友好的工具.FSlint不仅 ...

  5. python查找并删除相同文件-UNIQ File-script版本

    今天用wxPython做了一个GUI程序,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有文件都计算,大大减少了md5 ...

  6. python查找并删除相同文件-UNIQ File-wxPython版本

    今天用wxPython做了一个GUI程序,我称之为UNIQ File,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有 ...

  7. python查找并删除相同文件-UNIQ File-wxPython-v6

    相比第一版,新增:菜单,对话框,文件过滤器,操作结果保存,配置功能(自己写了一个读写配置文件的功能),提示语优化,模块分化更合理. 截图: 源代码: UniqFile-wxPython-v6.py: ...

  8. awk删除重复文件

    #!/bin/bash #查找并删除重复文件,每个文件只保留1份 ls -LS --time-style=long-iso | awk 'BEGIN { getline; getline; name1 ...

  9. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

随机推荐

  1. spring接收json格式的多个对象参数(变通法)

    两种方法 方法1 如果使用spring mvc同客户端通信,完全使用json数据格式,需要如下定义一个RequestMapping @Controller public class TestContr ...

  2. (java oracle)以bean和array为参数的存储过程及dao部分代码

    一.数据库部分 1.创建bean对象 CREATE OR REPLACE TYPE "QUARTZJOBBEAN" as object ( -- Author : Duwc -- ...

  3. 抓包工具fiddler

    具体的可以看这个链接,后来补充了些东西,cnblog复制图片太麻烦了 http://note.youdao.com/yws/public/redirect/share?id=37f8556270b44 ...

  4. mac常用的命令

    1.递归查找⽂文件内容: grep -r target_string absolute_path 2.移动所有⽂文件(包括隐藏⽂文件): mv * .[^.]* targetDir 3.⽂文件分割合并 ...

  5. Windows Server 2008 R2 域控DOS命令

    net user                                                         #查看本地用户 net  localgroup             ...

  6. iOS,几种设计模式

    1.单例模式 2.观察者模式 3.委托代理 4.block回调 5.反射机制 单例模式 iOS单例模式的2种方式.根据线程安全的实现来区分,一种是使用@synchronized ,另一种是使用GCD的 ...

  7. (转)SVN服务器搭建和使用(一)

    Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http:// ...

  8. 解读ContentResolver和ContentProvider

    转自:http://cthhqu.blog.51cto.com/7598297/1281217 1. ContentProvider的概述 ContentProvider: (Official Def ...

  9. mac的webdriver自动化

    下载webdriver-chrome的连接:http://chromedriver.storage.googleapis.com/index.html

  10. sublime text3 前端编译神器,浏览器实时显示

    前端编译器有很多,Dreamweaver,sublime text ,webstorm,但在使用之后感觉sublime text3就是前端的编译神器 首先sublime text3最好使用英文原版,虽 ...