fso查找被删除的文件
<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查找被删除的文件的更多相关文章
- Linux系统中查找、删除重复文件,释放磁盘空间。
在Linux系操作系统中查找并删除重复文件的方法的确有很多,不过这里介绍的是一款非常简单实用的软件FSlint.FSlint是一个重复文件查找工具,可以使用它来清除不必要的重复文件,笔者经常使用它来释 ...
- Linux查找并删除重复文件的命令行fdupes工具,dupeGuru图形工具
查了几十个网页,找到这个接近满意的解决方案http://unix.stackexchange.com/questions/146197/fdupes-delete-files-aft... 不过正则里 ...
- 利用lsof命令查找已经删除的文件来释放磁盘空间
测试环境一台服务器/目录空间使用率达到97%,但是通过du -sh *发现实际空间没用到那么多,初步怀疑,之前删除的文件,有运行中的进程一直占用,导致空间没有释放,如图通过du -sh *发现共实际使 ...
- 在 Linux 中查找和删除重复文件
原文链接:https://www.linuxprobe.com/linux-FSlint.html FSlint同时具有GUI和CLI模式.因此,对于新手来说,这是一个用户友好的工具.FSlint不仅 ...
- python查找并删除相同文件-UNIQ File-script版本
今天用wxPython做了一个GUI程序,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有文件都计算,大大减少了md5 ...
- python查找并删除相同文件-UNIQ File-wxPython版本
今天用wxPython做了一个GUI程序,我称之为UNIQ File,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有 ...
- python查找并删除相同文件-UNIQ File-wxPython-v6
相比第一版,新增:菜单,对话框,文件过滤器,操作结果保存,配置功能(自己写了一个读写配置文件的功能),提示语优化,模块分化更合理. 截图: 源代码: UniqFile-wxPython-v6.py: ...
- awk删除重复文件
#!/bin/bash #查找并删除重复文件,每个文件只保留1份 ls -LS --time-style=long-iso | awk 'BEGIN { getline; getline; name1 ...
- 有关文件夹与文件的查找,删除等功能 在 os 模块中实现
最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...
随机推荐
- 关于mouse_event和sendinput无效的原因
关于mouse_event和sendinput无效的原因 SetCursorPos 有用, 于mouse_event和sendinput 无用, 导致问题不清晰, 原来是我换了杀毒软件, 360 ...
- Source Insight 3.X utf8支持插件震撼发布
继上次SI多标签插件之后,因为公司内部编码改为utf8编码,因此特意做了这个Source Insight 3.X utf8插件. 下载地址:[点我] 安装说明: 解压msimg32.dll sihoo ...
- yii2.0场景的使用
- 随手记一次用C#正则表达式获取下拉菜单html标签<select>以及相关属性值
随手记一次用C#正则表达式获取下拉菜单html标签<select>以及相关属性值 1:有如下html: .................. <select id="aaa ...
- Instsrv.exe和Srvany.exe的使用方法
要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe.Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行.这两个软件都包含 ...
- shell计算小问题
1.shell处理两数相加时报错: req_all=$(($hits+$misses)) error: invalid arithmetic operator (error token is &quo ...
- jtree添加节点
利用Model添加了节点之后,需要reload树
- LA 3942 - Remember the Word (字典树 + dp)
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- C++ Sqlite3
/* 回调函数的格式如下: int sqlite_callback( void* pv, //由 sqlite3_exec() 的第四个参数传递而来 int argc, //表的列数 char** a ...
- oracle同一个数据库实例不同的用户之间的表、序列授权操作
1.背景:用户jtuser中有jtproduct中表A,B的同义词,在用户jtuser中向表A,B插入数据,提示“权限不够” 2.将A,B表授权给jtuser用户 $ sqlplus / as sys ...