机械必威体育网址

找回密码
注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7454 | 回复: 10
打印 上一主题 下一主题

【魍生技】快速统计文件名

[复制链接]
跳转到指定楼层
1#
发表于 2020-5-5 15:03:33 | 只看该作者 | 只看大图 回帖奖励 | 倒序浏览 | 阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。! d! K/ J5 X* z/ v

# `/ e" B8 J0 r所以这个时候就可以祭出【批处理】了:
( H9 [+ z0 L( {& |/ k# m1 T- G3 I1 J0 i6 Q6 W0 V
1、新建一个.txt文件。. p' i, V/ p3 p
2、打开,输入以下红字内容(这里以统计.PDF文件为例):1 c( k! P2 r' B; }; Q, k
DIR *.pdf /B >LIST.TXT
. V' H5 h: r/ j1 j' ?! z' }3 p H' s
3、保存文件,将.txt后缀改为.bat。
! d4 L! x5 a# Y+ L1 U4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。
4 `1 A8 w! }" a( c" }3 k' W, K! S, R% z: M" T
特别的说明:
5 ?* p% T, Y/ M: z% B0 U/ {% U
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)7 Y, N% H* G- B6 i

% Z+ T! p1 r! U) V$ t: ]8 Q1 @: z% g" C7 O) u
2#
发表于 2020-5-5 16:10:43 | 只看该作者
转帖' }+ d6 ?2 x/ m8 j8 G& e R# Z5 ~
批量获取文件名2 C! b, r% K1 r: k: Z$ a
这里分享工具下载链接:$ m- l8 x2 X4 ]7 C# O* o
" W5 } p- ?2 R' Y) g
http://pan.baidu.com/s/1o8u6aiY! j# r$ @8 m. c9 [' k

" k$ Q7 u0 V8 }; k功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。/ D+ q, o3 [' f- h
2 V y2 O _- v: u+ x! x3 [& g
使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。1 n& e/ c& G( k+ |

% T- j0 T, K, _注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。# B; S. ]/ F( F3 S

+ H) r* W2 C5 D7 ~授人以鱼不如授人以渔,这里直接上代码:
9 M0 M6 B' N- {
& a% R% n! b5 WPrivate Sub 提取文件名()
1 q* ~9 ~ G% F
; v; T, t9 m) Q4 n! D' R) M% kDim FileName As String
/ P1 p% ]; L0 L1 N0 Q/ I, |( V- Y
. ?* b4 `' G" _' G0 j2 hDim i As Long3 J+ N( h1 R% }' ^7 D

% j9 q: l# m* ?; qDim tmp As String$ ?1 U3 H0 J \4 C2 \$ @$ D6 p
, C* f+ F) n0 d; I5 F( A I! T7 j9 ^
mypath = ActiveWorkbook.Path
8 m8 [# q1 g7 _% w3 F; M$ t# I7 c
5 p+ W( Y# x( X8 s+ DFileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推
' I& n/ S0 ]+ t+ t$ d3 I/ N
: \1 _' _( V" q! L- h/ |i = 04 ]2 ]. Y; v4 i2 \

# Z4 L- U1 @) O% LRange("N:N").ClearContents# T5 s0 Y" i1 a- M+ ]( X- L( E+ b/ J
$ O8 W( u: s+ S3 O' q$ T
Do While FileName > ""8 e' |, ?! x" b/ ]

. p. L- [3 h9 b9 ?& U/ u0 ^i = i + 1
' x$ n" f2 @4 r
$ q5 g' w& [5 a# [1 B2 {Range("N" & i) = FileName
% e0 W8 T, F, P! P7 B" i0 K7 e4 A( D' p- P& z0 C% {2 X
FileName = Dir! I' K1 p0 V# z

& f7 d8 ~; S; ]+ r% gLoop
4 y5 T" ~! M7 Q% I& h. Y
! p5 @" G& [ N2 B' a/ AEnd Sub

自动获取文件夹内全部文件的文件名.rar

17.06 KB, 下载次数: 4, 下载积分: 威望 -3 点

评分

参与人数2 威望+2 收起理由
闲人南居 + 1 热心助人,专业精湛!
大白小白 + 1 热心助人,专业精湛!

查看全部评分

3#
发表于 2020-5-5 18:20:06 | 只看该作者
收藏了,感谢分享。
4#
发表于 2020-5-5 23:04:26 | 只看该作者
“/B”代表的含义是什么?
5#
发表于 2020-5-6 14:13:20 | 只看该作者
这是个好主意!
6#
楼主 | 发表于 2020-5-6 15:09:26 | 只看该作者
晓昀 发表于 2020-5-5 23:04
6 i( Q$ n T. f- e: u( ?2 P% Y& w“/B”代表的含义是什么?

; U4 S4 X8 \2 ] P( e! w) N
% {% ^, e5 B3 ^1 k. l% w上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)
6 f( `5 z1 p9 B3 I" Z8 k3 O' i- T+ q" H% K
* _" U$ T6 \$ C; z7 s/ s
上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。& n! J$ k9 K0 r# _3 V
7#
发表于 2020-5-7 08:59:27 | 只看该作者
收藏了,谢谢!
8#
发表于 2020-6-11 13:07:55 | 只看该作者
分享
9#
发表于 2021-8-15 10:01:45 | 只看该作者
怎么批量在文件名中汉字前后加上括号?
10#
楼主 | 发表于 2021-8-15 10:17:12 | 只看该作者
妖洞两拐 发表于 2021-8-15 10:01
2 O$ ^" u- I% V) M! k+ `怎么批量在文件名中汉字前后加上括号?
1 `: B f5 C* V% k, _! o/ A
这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。
+ B( i+ P& F8 W6 ~1 ~
您需要登录后才可以回帖 登录| 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址(京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号)

GMT+8, 2024-4-28 07:24, Processed in 0.058709 second(s), 20 queries , Gzip On.

Powered byDiscuz!X3.4Licensed

? 2001-2017Comsenz Inc.

快速回复 返回顶部 返回列表