找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 魍者归来

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

[复制链接]
发表于 2020-5-5 15:03:33 | 显示全部楼层 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。
) J. `2 ?* n& n+ |3 n
8 u8 j( P) J( C/ G2 \1 O/ Y5 k. w) r所以这个时候就可以祭出【批处理】了:* N9 u9 j( d% M

% c9 g- {% F, T: j+ _0 J% X/ h1、新建一个.txt文件。* G2 [: F( R' Y# c7 v0 h
2、打开,输入以下红字内容(这里以统计.PDF文件为例):& i1 _6 ]+ D1 w- w2 j
DIR  *.pdf /B  >LIST.TXT! `# \  e# C% Y
* R; O8 ?( E  x8 q  X
3、保存文件,将.txt后缀改为.bat。
/ f7 @, w8 v: F/ Z. V2 O1 d4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。6 r. S* }8 ~# t! H

- }. U! x. J; Q2 T% {+ b特别的说明:# J2 l' [; M" Z4 U2 x" I+ q7 Y
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)
    * T7 m% Y5 ~* X' U5 q! _4 V

' n6 x% h5 }: I* p
* j$ \2 s- m* u0 L: [, @4 \
回复

使用道具 举报

发表于 2020-5-5 16:10:43 | 显示全部楼层
转帖9 I1 n2 ~. `; u: [  _% _
批量获取文件名) r" a+ x6 g$ U* U3 p0 T
这里分享工具下载链接:2 L( ~' R' o3 m7 _6 N9 }+ M
6 ?8 k: p  c+ L( f, r
http://pan.baidu.com/s/1o8u6aiY
) F- Y$ e% K: C& I3 t7 a) b2 P$ t
功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。; w; N% n4 n" z: B) r
- Q) ]+ |0 z, z$ P( X" D& @
使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。
! v$ t2 \& H# y) ^, @
) r4 `- _- N& c9 ?. y3 o  m& R注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。6 }; K& G. {" C6 \
4 [7 b& J. f# b' H8 O% Y
授人以鱼不如授人以渔,这里直接上代码:
6 [7 o) }) c0 i% `$ s
# {8 J" p+ U! E/ X! G( o* ]Private Sub 提取文件名()
, `8 z, ~2 Y: I/ R/ W8 v# {' ]: N7 b* e8 h$ f$ B$ f& N
Dim FileName As String/ ]6 X# t5 `" ]7 _( D' d. M- i

" @) b; ^9 t6 z4 A, e- EDim i As Long
2 B' n0 ?& J0 z/ i1 K7 C
9 u, q  M) K- X" i9 bDim tmp As String/ A2 E" n+ g" n9 M
$ y$ x" _, G' q: L1 K! d
mypath = ActiveWorkbook.Path
  {6 t+ C, R7 W; H  _3 ^4 E$ e- m6 n; p' \, }3 x% k# |
FileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推
& a0 \5 B, N- @8 {
" k& }1 E1 g0 p, A9 [i = 0. Q# w7 R8 d: `# K- c5 T
; b$ g6 O9 E  ~- e) I1 V! B
Range("N:N").ClearContents4 O+ B' H$ P3 j( u

7 g7 t0 f& s, ]8 eDo While FileName > ""
8 j+ C/ H% q7 {( ]8 J# h$ |7 L; }. w+ h9 G7 S
i = i + 1" N) _3 j3 z) n
- U. |; @9 t4 T' B; j" N
Range("N" & i) = FileName
) E! C" ], v$ w0 D; u: {8 |9 B( y+ |/ I2 g5 o
FileName = Dir' R' I, h* T" O8 }

1 b0 @# T) l" R8 Z' SLoop
( \! z; j3 c, [$ i5 g0 y$ e9 u8 b' P! d5 v4 K/ b: L
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
% ~3 D: d7 ?- K6 ]8 `“/B”代表的含义是什么?

  `. `5 M' c' b. A 捕获.JPG
4 a, f- e+ j& }上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)
! ?+ G* k8 q1 [, d  `
& }' p4 Z. t: K& p2 v  z; X 捕获2.JPG   r9 z" C" e' [# z9 P
上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。4 Z: V8 \; W# _: v4 b; q
发表于 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& T$ ^5 ~2 }  [3 H
怎么批量在文件名中汉字前后加上括号?

5 E4 A: }# g6 x8 z这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。  K! I- b" J/ b1 Z. q$ k
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-6-17 10:24 , Processed in 0.067849 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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