找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 魍者归来

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

[复制链接]
发表于 2020-5-5 15:03:33 | 显示全部楼层 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。4 ^* n5 A& Q% H; c) p$ g
) [1 _) T* |! w9 f
所以这个时候就可以祭出【批处理】了:
* P6 Z( N! z7 S' Z5 F4 B+ }
. G5 Y6 r* x7 ?: O% L( ]1、新建一个.txt文件。
; N5 }; n6 B) _. ~) ]2、打开,输入以下红字内容(这里以统计.PDF文件为例):
5 u% X) |/ N3 T) t2 I; tDIR  *.pdf /B  >LIST.TXT3 F$ {4 f  u/ U2 y8 N2 U, w& T

% {8 `1 K8 B. O9 O* w. a. e7 L$ S- z3、保存文件,将.txt后缀改为.bat。' |4 u+ x  `6 K) I4 M3 S  R* f! @
4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。. D6 p4 J9 x2 w% T# ?$ ], n
- K, T5 M5 r6 G/ Q2 [5 f( b% W( f
特别的说明:# j$ N# S' L2 ?+ o
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)" W" D6 }5 X7 N0 F, m6 G/ j# x9 F

4 M; n6 f( Q2 I3 b1 I" N. ~. N
回复

使用道具 举报

发表于 2020-5-5 16:10:43 | 显示全部楼层
转帖
. x  g6 N4 {$ U" p% _批量获取文件名
. N3 i. A8 C/ ~/ M这里分享工具下载链接:
* o+ G  H4 w- Y9 t3 ^& b% D  v( i) F' f
http://pan.baidu.com/s/1o8u6aiY8 `6 I! p* p5 F( S
* u" h, T- Q8 k
功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。
9 _$ @$ k- j2 R6 {( g  y# D# f" r+ z. ]  E. N0 ]7 w
使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。
; r* c7 ~. P1 ?: S% Q3 E* ~, g
" ?5 J9 }0 D9 s; |$ n注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。7 o# _1 A) U; X

0 H8 l2 Q" `9 l- o0 p授人以鱼不如授人以渔,这里直接上代码:
' B* L% u  G- S7 v- H& J, m7 l
! G! [  E; ]4 ]+ |( F( J# f6 `Private Sub 提取文件名()
5 B0 t% t# q5 o2 `( Y( @* W  u6 g, T
Dim FileName As String
& z6 D/ B! X. H8 {4 A4 O
9 Z2 z4 U7 D: c0 p+ K5 oDim i As Long! J3 O7 x" C: x4 H

" e7 c* b, s, A- sDim tmp As String; }! @$ z3 ^; T8 e
# B8 O. a& x" r) Q6 L8 z
mypath = ActiveWorkbook.Path
3 x1 V% U- A3 f# \1 d& o+ y6 N8 O. A7 Z& V: P6 ]' I
FileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推/ |# [( m+ y6 A5 D
& K$ ^% }# P4 h
i = 0
) b  y$ |, m! `7 Y* d/ B* d6 x0 y* ~0 `! y2 S  t6 m" J# v
Range("N:N").ClearContents
; K& |3 F" R" O) ?9 f7 |* a$ d9 `1 H4 p" A
Do While FileName > ""; F) m, _6 W' Z2 S! P" S

6 T) @3 l6 [( R6 r) f. H& K+ Li = i + 14 Q; D+ d+ e" ^$ F2 y# g4 P

. I, @6 w  ^. B9 _. A9 ?# JRange("N" & i) = FileName7 [* s) g* F) S6 k( d! t

: |1 W, M/ C, o9 F$ @FileName = Dir
5 V* ^1 @, l4 J" X" ~, w6 ^$ F& Y1 V, G, _3 F
Loop
$ g( p  O- k' i4 p+ L- f/ s$ j- h: F( T
End Sub

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

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

评分

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

查看全部评分

发表于 2020-5-5 18:20:06 | 显示全部楼层
收藏了,感谢分享。
发表于 2020-5-5 23:04:26 | 显示全部楼层
“/B”代表的含义是什么?
发表于 2020-5-6 14:13:20 | 显示全部楼层
这是个好主意!
 楼主| 发表于 2020-5-6 15:09:26 | 显示全部楼层
晓昀 发表于 2020-5-5 23:04
  z, d+ S' ~% |% i) r" M% V“/B”代表的含义是什么?
8 R$ S. ^/ x1 z$ l" ?! G- @% E
捕获.JPG % s8 n  b  N+ [$ w. V
上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)
; Z6 L3 \' p& K/ P# Q& r1 ~) A. q8 Q; ^. ]* i8 s8 X' S8 v
捕获2.JPG
& f' r9 h$ T, `上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。
; ^1 `  E7 d1 k4 |1 l' B2 I
发表于 2020-5-7 08:59:27 | 显示全部楼层
收藏了,谢谢!
发表于 2020-6-11 13:07:55 | 显示全部楼层
分享
回复

使用道具 举报

发表于 2021-8-15 10:01:45 | 显示全部楼层
怎么批量在文件名中汉字前后加上括号?
 楼主| 发表于 2021-8-15 10:17:12 | 显示全部楼层
妖洞两拐 发表于 2021-8-15 10:01
' w. q# o' V: W: I2 }1 @" n怎么批量在文件名中汉字前后加上括号?
' k5 y! o1 X0 p  Q" d# e
这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。" W  I7 V8 U& H, l
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-4 04:53 , Processed in 0.071609 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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