<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>