注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» [已解决]批处理如何以MB为单位批量提取文件大小及文件名?
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
dragon631
发短消息
加为好友
dragon631
当前离线
UID
10392
帖子
28
精华
0
积分
120
PB
120
技术
0
捐助
0
阅读权限
20
在线时间
25 小时
注册时间
2009-3-12
最后登录
2023-11-9
一级士官
帖子
28
积分
120
技术
0
捐助
0
注册时间
2009-3-12
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2015-6-2 03:34
|
显示全部帖子
[文件操作]
[已解决]批处理如何以MB为单位批量提取文件大小及文件名?
“dir >a.txt”可以将目录下文件的修改日期、大小、文件名发送至文本文档a中。
1.里面的文件大小的单位使用的是字节,如果想让它以MB的方式显示,且按文件大小升序排列在文本文档a中,代码该如何写?
2.如果只想在文本文档a显示文件名和文件大小,大小以MB显示,且按文件大小升序排列,代码又该如何写?
希望懂行的热心人能指点一下!
1
评分人数
Batcher:
感谢给帖子标题标注[已解决]字样
PB + 2
收藏
分享
dragon631
发短消息
加为好友
dragon631
当前离线
UID
10392
帖子
28
精华
0
积分
120
PB
120
技术
0
捐助
0
阅读权限
20
在线时间
25 小时
注册时间
2009-3-12
最后登录
2023-11-9
一级士官
帖子
28
积分
120
技术
0
捐助
0
注册时间
2009-3-12
2
楼
发表于 2015-6-2 22:07
|
显示全部帖子
本帖最后由 dragon631 于 2015-6-3 18:00 编辑
回复
2#
pcl_test
::最大文件大小不超过2G的可以这样
@echo off & setlocal enabledelayedexpansion
(for /f "delims=" %%a in ('dir /a-d /b /o^|find /i /v "%~nx0"') do set /a size=%%~za/1048576 2>nul&&echo;%%a !size!MB)>"文件名及大小.txt"
pause
这个代码让文件以拼音首字母顺序排列。
TOP
dragon631
发短消息
加为好友
dragon631
当前离线
UID
10392
帖子
28
精华
0
积分
120
PB
120
技术
0
捐助
0
阅读权限
20
在线时间
25 小时
注册时间
2009-3-12
最后登录
2023-11-9
一级士官
帖子
28
积分
120
技术
0
捐助
0
注册时间
2009-3-12
3
楼
发表于 2015-6-2 22:49
|
显示全部帖子
本帖最后由 dragon631 于 2015-6-2 23:20 编辑
回复
4#
pcl_test
刚在边测试边百度,边修改回复内容,实际上,上面的代码是让它文件首拼音排列的!
原代码对于电影这些个大文件用起来比较顺手,对于图片这些稍小的文件就有点不适用了,所以,原代码的基础上,稍微变动了下,让它以KB显示
::最大文件大小不超过2G的可以这样
@echo off & setlocal enabledelayedexpansion
(for /f "delims=" %%a in ('dir /a-d /b /os^|find /i /v "%~nx0"') do set /a size=%%~za/
1024
2>nul&&echo;%%a !size!
KB
)>"文件名及大小.txt"
pause
还有其它地方需要变动了吗?
TOP
dragon631
发短消息
加为好友
dragon631
当前离线
UID
10392
帖子
28
精华
0
积分
120
PB
120
技术
0
捐助
0
阅读权限
20
在线时间
25 小时
注册时间
2009-3-12
最后登录
2023-11-9
一级士官
帖子
28
积分
120
技术
0
捐助
0
注册时间
2009-3-12
4
楼
发表于 2015-6-3 01:36
|
显示全部帖子
本帖最后由 dragon631 于 2015-6-3 04:37 编辑
回复
6#
pcl_test
这个兼顾到了字节、KB、MB,已经很不错了!
能不能再加上超过1GB的,单位使用GB?并且MB和GB单位后面带两位小数点?因为这样子显示出来的话,更符合实际情况!
TOP
dragon631
发短消息
加为好友
dragon631
当前离线
UID
10392
帖子
28
精华
0
积分
120
PB
120
技术
0
捐助
0
阅读权限
20
在线时间
25 小时
注册时间
2009-3-12
最后登录
2023-11-9
一级士官
帖子
28
积分
120
技术
0
捐助
0
注册时间
2009-3-12
5
楼
发表于 2015-6-3 12:45
|
显示全部帖子
本帖最后由 pcl_test 于 2016-8-10 18:16 编辑
回复
8#
terse
WSH.Echo(arr
[0],'\t' + size,'
字节
');
在你代码的基础上,稍微变动了下,KB在电脑中显示的就是整数,所以,就让它取整数;Byte在电脑中显示的是“字节”,所以,“Byte”改成了“字节”
这个代码,是以文件大小排列的TXT文档中,能让它按首拼音来排序吗?
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]