[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 pcl_test 于 2016-9-25 08:58 编辑
  1. ::最大文件大小不超过2G的可以这样
  2. @echo off
  3. (for /f "delims=" %%a in ('dir /a-d /b /os^|find /i /v "%~nx0"') do set /a size=%%~za/1048576 2>nul&&call echo;%%a %%size%%MB)>"文件名及大小.txt"
  4. pause
复制代码

TOP

本帖最后由 pcl_test 于 2015-6-2 22:30 编辑

回复 3# dragon631

大概你没测试,/os就是以文件大小升序排列,所以没必要再加/o
dir /a-d /b /os

TOP

回复 5# dragon631

不知你怎么查资料的,自行在命令提示符下输入dir /? ,回车后查看/os的作用
  1. ::适用最大文件大小不超过2G的
  2. @echo off
  3. (for /f "delims=" %%a in ('dir /a-d /b /os^|find /i /v "%~nx0"') do (
  4. if %%~za lss 1024 (
  5. echo;%%a %%~za字节
  6. ) else (
  7. if %%~za lss 1048576 (
  8. set /a size=%%~za/1024 2>nul&&call echo;%%a %%size%%KB
  9. ) else (
  10. set /a size=%%~za/1048576 2>nul&&call echo;%%a %%size%%MB
  11. ))))>"文件名及大小.txt"
  12. pause
复制代码

TOP

回复 17# ahh

已改

TOP

TOP

回复 22# ahh

简单的去掉/os

TOP

返回列表