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

本帖最后由 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

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

需要的批处理功能:

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

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

TOP

回复 17# ahh

已改

TOP

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

TOP

TOP

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

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

TOP

回复 22# ahh

简单的去掉/os

TOP

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

回复 23# pcl_test
太感谢了!好人啊!
最后贴出来,以便别人哪天需要这个批处理时也能找到答案。

以MB为单位提取文件大小及文件名,以名称为排序方式的批处理。
  1. ::最大文件大小不超过2G的可以这样
  2. @echo off
  3. (for /f "delims=" %%a in ('dir /a-d /b^|find /i /v "%~nx0"') do set /a size=%%~za/1048576 2>nul&&call echo;%%a %%size%%MB)>"文件名及大小.txt"
  4. pause
复制代码

TOP

回复 8# terse


    怎么可以过滤这个结果中,文件修改时间最新的那条记录呢?

TOP

回复  pcl_test
太感谢了!好人啊!
最后贴出来,以便别人哪天需要这个批处理时也能找到答案。

以MB为 ...
ahh 发表于 2016-9-25 18:52





超过2G如何操作?

TOP

回复 8# terse


    老师,这个能加上路径吗?

TOP

回复 27# ww0000
修改第一排
  1. @if(0)==(0) echo off & CScript -NoLogo -E:JScript %0 "c:\test">文件名_大小.txt &  pause & exit @end
复制代码

TOP

]'\
回复 28# terse

加个    "c:\test"   ?

TOP

回复 28# terse


    我是说,输出的TXT文本中,除了文件名、大小,文件名前还要带路径

TOP

返回列表