
[已解決]求助關于WHY大佬寫的統計圖片尺寸規格代碼想稍微調整一下最后由 akb4888 于 -12-3 15:44
首先非常非常感謝WHY大佬,以上為WHY大佬好久之前寫的代碼,我自己用時改成了按面積統計,但是,現在想按不同文件夾分別進行統計,并輸出到txt文檔,研究了好久沒整明白,而且這個還是bat+js的吧我不行了,,,想實現的效果如下:統計完后輸出到txtE:test1圖片共40張A0共1張 A1共3張 A2共0張 A3共10張 A4共26張E:test2圖片共20張A0共0張 A1共5張 A2共5張 A3共0張 A4共10張E:test3圖片共60張A0共5張 A1共10張 A2共15張 A3共10張 A4共20張請大佬救救孩子,,,,nclick="copycode($('code0'));">復制代碼
- @set @n=0
- var arr = [0, 0, 0, 0, 0, 0];
- var ssh = new ActiveXObject('Shell.Application');
- var fd= ssh.NameSpace(0x00);
- var checkSize = function(width, height){
- if(width>=129 || height>=129){
- arr[0] += 1;
- return 'A0+'
- }else if((width>=118.9 && width<129) || (height>=118.9 && height<129)){
- arr[1] += 1;
- return 'A0'
- }else if((width>=84.1 && width<118.9) || (height>=84.1 && height<118.9)){
- arr[2] += 1;
- return 'A1'
- }else if((width>=59.4 && width<84.1) || (height>=59.4 && height<84.1)){
- arr[3] += 1;
- return 'A2'
- }else if((width>=42 && width<59.4) || (height>=42 && height<59.4)){
- arr[4] += 1;
- return 'A3'
- }else {
- arr[5] += 1;
- return 'A4'
- }
- }
- for(var i=0; i<300; i++) {
- if(fd.GetDetailsOf(null, i) == '寬度') {
- var n1 = i;
- }else if(fd.GetDetailsOf(null, i) == '高度') {
- var n2 = i;
- }else if(/^水平分[辨辯]率$/.test(fd.GetDetailsOf(null, i))) {
- var n3 = i;
- }else if(/^垂直分[辨辯]率$/.test(fd.GetDetailsOf(null, i))) {
- var n4 = i;
- }
- }
- while(!WSH.StdIn.AtEndOfStream){
- var file = WSH.StdIn.ReadLine();
- var name = file.replace(/.+(.+)$/, '$1');
- var fd = ssh.NameSpace( file.replace(/(.+).+$/, '$1') );
- var w = fd.GetDetailsOf(fd.ParseName(name), n1).match(/d+/)[0];//寬度
- var h = fd.GetDetailsOf(fd.ParseName(name), n2).match(/d+/)[0];//高度
- var hr = fd.GetDetailsOf(fd.ParseName(name), n3).match(/d+/)[0]; //水平刷新率
- var vr = fd.GetDetailsOf(fd.ParseName(name), n4).match(/d+/)[0]; //垂直刷新率
- var width = (w / hr * 2.54).toFixed(1); height = (h / vr * 2.54).toFixed(1);
- var size = checkSize(width, height);
- WSH.Echo(name + ' ' + width + 'x' + height + ' ' + size);
- }
- var s = 'A0+共' + arr[0] + '張,A0共' + arr[1] + '張,A1共' + arr[2] + '張,';
- s += 'A2共' + arr[3] + '張,A3共' + arr[4] + '張,A4共' + arr[5] + '張rn';
- s += '折合A4共' + (arr[0]*32+arr[1]*16+arr[2]*8+arr[3]*4+arr[4]*2+arr[5]) + '張'
- WSH.Echo(s)

