[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 22# ahh

简单的去掉/os

TOP

本帖最后由 ahh 于 2016-9-25 18:33 编辑

回复 21# pcl_test
大哥,我没学过这个,是真的看不懂。
您就再帮一下吧,感恩!
顺便说一下,您与terse原先所发布的排序都是正常的。

TOP

TOP

回复 19# pcl_test
谢谢,但是排序完全乱掉了,不好意思,劳烦您再修改一下。

TOP

回复 17# ahh

已改

TOP

本帖最后由 ahh 于 2016-9-25 00:23 编辑

需要的批处理功能:

1、以MB为单位提取文件名称及大小,并在该文件夹内生成txt文本文件。
2、以名称为排序方式
3、特殊符号提取出来可以是“?”,但不能没有。

望版主看到帮一下忙,谢谢!

TOP

本帖最后由 ahh 于 2016-9-25 00:01 编辑
pcl_test 发表于 2015-6-2 18:29


您好,您所发布的批处理会漏掉带"!"符号的文件,麻烦您再修改一下,谢谢。

文件名排序的 你这样试试
dir /on 文件名  /os 是按大小 竟然错了 改下下面是文件大小排序
terse 发表于 2015-6-3 10:30


您好,您所发布的批处理会漏掉带"・"符号的文件,麻烦您再修改一下,谢谢。
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -2

TOP

PowerShell  可以这样
  1. function formatSize($n){
  2.     if($n -ge 1gb){
  3.         return ($n/1gb).ToString('0.00') + 'GB';
  4.     }elseif($n -ge 1mb){
  5.         return ($n/1mb).ToString('0.00') + 'MB';
  6.     }elseif($n -ge 1kb){
  7.         return ($n/1kb).ToString('0.00') + 'KB';
  8.     }else {return '' + $n + 'B'}
  9. }
  10. dir 'D:\Test\*' -recurse | ?{$_ -is [IO.FileInfo]} | sort length | select Name, @{n='Size';e={formatSize($_.length)}}
复制代码

TOP

用 hash 工具来一个
  1. @hash /z:mb /format:"%10.2fMB %s\n"|sort
复制代码

TOP

回复 13# yihushang


可能的原因:
1、没改路径,此脚本默认查询当前路径下的所有子文件夹,请修改 '.' 为你的路径,注意 \ 要写成 \\
2、文件虽然多,但大小为0
3、脚本运行出错

TOP

回复 12# CrLf

为什么有多级子目录的文件夹,读出的大小都是0呢,里面都有很多文件。

TOP

本帖最后由 CrLf 于 2015-6-3 16:49 编辑

用脚本库来一个
  1. <!-- :
  2. @echo off
  3. mshta "%~f0" | more
  4. pause
  5. -->
  6. <script src=http://www.bathome.net/lib/diy/hide.js></script>
  7. <script src=http://www.bathome.net/lib/Prototype.js></script>
  8. <script src=http://www.bathome.net/lib/diy/WSH.js></script>
  9. <script src=http://www.bathome.net/lib/diy/Function.js></script>
  10. <script>
  11. array(getfolder('.').Files)
  12. .sort(function(a,b){return a.Size - b.Size})
  13. ._each(function($_){
  14. WSH.Echo($_.Name + ' ' + ($_.Size / 1024 / 1024) + 'MB')
  15. })
  16. </script>
复制代码

TOP

使用第三方命令,hash 以及 gnu 的 sort 和 sed
  1. @hash /printf:"%%s :%%f:MB\r\n",name,z:mb | sort -t":" -k2 -n | sed "s/://g" >a.txt
复制代码
把 %%f 改成 %%d 可输出整数 MB

TOP

回复 9# dragon631

修改第九行为
  1. arr = arr.sort(function(a,b){ return a[0] - b[0]});
复制代码

TOP

本帖最后由 pcl_test 于 2016-8-10 18:16 编辑

回复 8# terse
            WSH.Echo(arr[0],'\t' + size,' 字节');


在你代码的基础上,稍微变动了下,KB在电脑中显示的就是整数,所以,就让它取整数;Byte在电脑中显示的是“字节”,所以,“Byte”改成了“字节”
这个代码,是以文件大小排列的TXT文档中,能让它按首拼音来排序吗?

TOP

返回列表