[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 30# ww0000
是这个意思吗
第七行 f.Name前加上路径 Folder
  1.     Folder+'\\'+f.Name   
复制代码

TOP

回复 31# terse

是这个意思,但只能获取当前路径,不能获取子目录的路径

TOP

回复 32# ww0000
修改了一下,看行不,这个是能显示子目录的,
  1. @if(0)==(0) echo off & dir /b /s /os/a-d "c:\test" | CScript -NoLogo -E:JScript %0 >文件名_大小.txt &  pause & exit @end
  2. var fso=new ActiveXObject("Scripting.FileSystemObject");
  3. var arr=[], k=1024, m=1048576, g=1073741824;
  4. while (!WScript.StdIn.AtEndOfStream){
  5.     var name = WScript.StdIn.ReadLine();
  6.     var f =fso.GetFile(name)
  7.     arr.push([name,f.size]);
  8. };
  9. arr = arr.sort(function(a,b){ return a[1] - b[1]});
  10. for (i = 0,len = arr.length; i < len; i++) {
  11.     WSH.Echo(arr[i][0],filesize(arr[i][1]))
  12. }
  13. function filesize(size) {
  14.     switch(true){
  15.         case size>g :
  16.             size = (size/g).toFixed(2) + ' GB';
  17.             break;
  18.         case size>m :
  19.             size = (size/m).toFixed(2) + ' MB';
  20.             break;
  21.         case size>k :
  22.             size = (size/k).toFixed(2) + ' KB';
  23.             break;
  24.         default :
  25.             size = size + ' 字节';
  26.     };
  27.     return size;
  28. }
复制代码
1

评分人数

    • ww0000: 感谢帮助!技术 + 1

TOP

回复 33# terse


    谢谢,可以获取子目录的,另外能不能按文件名排序呢?

TOP

回复 34# ww0000
dir 参数 /os 换为 /on

TOP

本帖最后由 terse 于 2023-4-2 17:33 编辑

回复 34# ww0000
对了 这个是名称排序的
arr = arr.sort(function(a,b){ return a[0] - b[0]});

其实 第一排 dir /b /s /a-d 这个按名称排序的 可以直接输出的
1

评分人数

    • ww0000: 感谢帮助!技术 + 1

TOP

回复 36# terse


    谢谢老师的帮助!!

TOP

返回列表