标题: [文本处理] 批处理如何获取文件夹下指定大小文件的路径 [打印本页]
作者: gavincar 时间: 2014-12-16 20:55 标题: 批处理如何获取文件夹下指定大小文件的路径
如想通过批处理方法获取文件夹(如文件名为A)下所有小于2M的文件的路径,并将这些文件的路径(每行一个)生成一个txt文件,放到A文件夹中。
注:文件夹中可能有子文件夹,这些子文件夹中符合条件的也要统计进去。
作者: apang 时间: 2014-12-16 21:35
本帖最后由 apang 于 2014-12-16 21:58 编辑
- @echo off
- set "s=00000000000002097152"
- (for /f "delims=" %%a in ('dir /a-d /b /s "D:\A\*"') do (
- setlocal enabledelayedexpansion
- set "z=00000000000000000000%%~za"
- if "!z:~-20!" LSS "%s%" (
- endlocal & echo,%%a
- ) else endlocal
- ))>a.txt
- pause
复制代码
作者: gavincar 时间: 2014-12-16 21:47
本帖最后由 gavincar 于 2014-12-16 21:55 编辑
回复 2# apang
谢谢您的回复
set "s=00000000000002097152"
这个2097152代表1M吗?
如果改成100K,是不是102400就可以了。
我运行了一下,生成的路径好像没有生成txt文件。
能否将这些路径包在到当前文件夹中,如A.txt。
作者: apang 时间: 2014-12-16 21:56
回复 3# gavincar
2*1024*1024=2MB=2097152 前面补些0凑成20位
作者: apang 时间: 2014-12-16 21:59
回复 3# gavincar
好吧,已修改
作者: gavincar 时间: 2014-12-16 22:10
回复 5# apang
非常感谢您的帮助,我试一下。
批处理太强大了。
另外,请问,如果在bat文件放到A文件夹中,那代码中的那个绝对路径能改为相对路径吗?
作者: DAIC 时间: 2014-12-16 22:27
回复 6# gavincar
把 "D:\A\*" 删掉就是相对路径
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |