<html>
<head>Sam遍历文件夹,随机抽取</head>
<script language="javascript">
//要遍历的图片地址,注意地址要用\\
var picPath="C:\\Users\\Administrator.USER-20160321ID\\Desktop\\随机取图片\\测试图片\\";
//移动抽取到的图片要保存的地方
var eFolder='C:\\Users\\Administrator.USER-20160321ID\\Desktop\\随机取图片\\get\\';
//要随机取的图片数量,数量不可大于遍历的文件数量
var getPicCount=5;
//mType为1 移动,type为0 复制
var mType=0;
//----------注意!!!非技术人员,以下请不要更改!!!本程序Sam原创
var s = "";
var result = [];
function FileInfo(path, name,time) {
this.path = path;
this.name = name;
this.time = time;
}
function showFolderFileList(folderspec)
{
var fso,f,fc,name;
var url,str,file,filename;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator( f.files );
for (; !fc.atEnd(); fc.moveNext( ) ) {
filename = fso.GetFileName( fc.item( ) );
var file = fso.getFile(folderspec + "\\" + filename);
var fileInfo = new FileInfo(folderspec, filename,file.DateLastModified);
result.push(fileInfo);
}
var Collection = new Enumerator(f.SubFolders);
for (Collection.moveFirst(); !Collection.atEnd(); Collection.moveNext()) {
var Obj = Collection.item();
showFolderFileList(Obj.Path);
}
return result;
}
function display_result(result)
{
var body = document.getElementById("mtbody");
var size = result.length;
var tr = document.getElementById("mtr");
for( var i =0; i < size; i++ ) {
var newTr = tr.cloneNode(true);
var children = newTr.children;
for( var j = 0 ; j < children.length; j++) {
var item = children.item(j);
switch(j) {
case 0:
item.innerHTML = result[i].path;
break;
case 1:
item.innerHTML = '<a href="'+result[i].path+'\\'+result[i].name+'" target="_blank">'+result[i].name+'</a>';
break;
//case 2:
//item.innerHTML = result[i].time;
}
}
body.appendChild(newTr);
}
}
//随机取数函数
function getRandomArrayElements(arr, count) {
var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
while (i-- > min) {
index = Math.floor((i + 1) * Math.random());
temp = shuffled[index];
shuffled[index] = shuffled[i];
shuffled[i] = temp;
}
return shuffled.slice(min);
}
function run() {
var list_result = showFolderFileList(picPath);//开始遍历目录
display_result(list_result);//显示所有文件
document.getElementById("picCounts").innerHTML=list_result.length;
//-----------------
//要移动的源文件夹
var sFolder=picPath;
var fso = new ActiveXObject("Scripting.FileSystemObject");
function MovePic(ff,type){
var tmpArr=new Array();
var tempff=ff.replace(sFolder,'');
var folderName='',arrLast='',f1;
//document.write(tempff+'<br>');
tmpArr=tempff.split("\\");
arrLast=tmpArr.pop();//文件
for(var i in tmpArr){
//document.write(tmpArr[i]+'<br>');
//循环并建立文件夹
folderName = folderName+(tmpArr[i]+"\\");
if (fso.FolderExists(eFolder+folderName)){
//document.write(tmpArr[i]+'存在<br>');
}else{
fso.CreateFolder (eFolder+folderName);//创建文件夹
//document.write(tmpArr[i]+'已创建<br>');
}
}
f1 = fso.GetFile(ff);
if(type){
f1.Move(eFolder+folderName+arrLast);//移动
}else{
f1.Copy(eFolder+folderName+arrLast);//复制
}
//document.write(eFolder+folderName+arrLast);
}
//-------------
//随机显示指定数量的文件
var tempArr=getRandomArrayElements(list_result, getPicCount);
var itemstr='';
for( var i =0; i < tempArr.length; i++ ) {
//itemstr=itemstr+'<a href="'+result[i].path+'\\'+result[i].name+'" target="_blank">'+tempArr[i].path+'\\'+tempArr[i].name+'</a>';
itemstr=itemstr+'<a href="#">'+tempArr[i].path+'\\'+tempArr[i].name+'</a>';
//复制或移动
MovePic(tempArr[i].path+'\\'+tempArr[i].name,mType);
}
document.getElementById("suijistr").innerHTML=itemstr;
document.getElementById("getpicnum").innerHTML=getPicCount;
}
</script>
<style>
#mtable td{heidth:20px; line-height:20px;}
#picCounts {color:red;}
#suijistr a{ display:block; height:21px; line-height:21px;}
</style>
</head>
<body onload = "run()">
<a href="#gettop" style="color:red">点击查看随机取出的图片</a><br /><br />
<div sytle="height:30px; background:#EEE;">统计:共遍历到 <strong id="picCounts">0</strong> 张图片文件</div>
<div id ="table">
<table id="mtable" style="font-size:12px;background:#AAA; padding:1px">
<tbody id="mtbody">
<tr id="mtr" style="background:#FFF;">
<td><strong>文件路径</strong></td>
<td><strong>文件名(点击可查看图片)</strong></td>
<!-- <td>最后修改时间</td> -->
</tr>
</tbody>
</table>
</div>
<br />
<div id="gettop" name="gettop">共随机取出<strong><span id="getpicnum" style='color:red;'> 0 </span></strong>张图片</div><br />
<div id="suijistr">
</div>
</body>
</html>
这个JavaScript代码示例展示了如何遍历指定文件夹中的图片,然后随机抽取一定数量的图片进行移动或复制操作。用户可以设置抽取的图片数量和操作类型(移动或复制)。遍历和抽取的图片路径在代码中定义。
1万+

被折叠的 条评论
为什么被折叠?



