机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 魍者归来

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

[复制链接]
发表于 2020-5-5 15:03:33 | 显示全部楼层 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。! k+ j2 l, P: Y) F+ v. l! u  x( B
% z0 S% J3 ]( k
所以这个时候就可以祭出【批处理】了:
# S5 M, E: p4 @- ^4 D
  P" d" @0 g6 _2 k+ p' P# o1、新建一个.txt文件。1 g; |2 O9 m9 N: ~8 _5 J7 N4 }
2、打开,输入以下红字内容(这里以统计.PDF文件为例):; {1 ~0 d& s5 \; L
DIR  *.pdf /B  >LIST.TXT
2 n" }" ^" g* j. ?3 w
! H/ @, `: a5 |6 |3、保存文件,将.txt后缀改为.bat。
% F1 N5 ]  t# ~. D. k  z" n4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。: K  O1 H2 A* |0 V- u  s7 i

0 i0 n6 @1 s9 G0 {0 [' y特别的说明:
6 o8 c; d9 Q# @/ z% P7 m  ?
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)
    & w$ f* c# `% Z4 l7 Z
* e! x2 Q) U% ~/ W* t

# K# B) k. }5 l' D  O8 X' e
回复

使用道具 举报

发表于 2020-5-5 16:10:43 | 显示全部楼层
转帖4 B% U7 r+ i, T! O. z: o) ^
批量获取文件名9 A/ a1 ?& T7 k" x, d5 O' _( f* x
这里分享工具下载链接:
2 [$ E2 S0 u/ y. v; f" E* k$ X0 V" M, ^* l3 Y9 ~+ n
http://pan.baidu.com/s/1o8u6aiY
) U' T, w4 V' A; U/ k! T' U; F2 ]
$ F4 F' t0 @) L' E$ `功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。
- e+ f6 ?7 m! X9 _' T. c' k1 l  K' G" v8 y9 F8 H$ X
使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。0 _) J+ U( d3 `

4 l+ i* X+ M+ B7 C5 W9 {  z注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。# f5 @3 B3 A$ T3 k* o4 W9 n' ~. X
" s) V/ s0 ]8 Z! K+ m5 c
授人以鱼不如授人以渔,这里直接上代码:
1 l( H. B1 i' p; e" I( B. }9 @7 g! F
Private Sub 提取文件名()
/ T3 q; N( e6 Q, z5 a# w" ~" A: N5 v
Dim FileName As String
7 o8 I. h3 b) J% {9 I0 i& K; [: e) S2 ^: p) ]& V& Q
Dim i As Long7 A- ~6 Y3 F0 W" s3 b) |4 x

+ d3 @3 c- u- C& hDim tmp As String
. ]% k# }" B) k2 F% ?* ]
+ N5 \. j- g$ u: Fmypath = ActiveWorkbook.Path1 u2 e& F* c; A6 w0 y+ L6 _

) i1 @8 f8 f- C; O& w% tFileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推
! C" U: B3 M0 b! @/ Q0 E% G: T; f2 `
7 p+ o- l3 L# {" M7 d! M) @% Qi = 0
5 P/ ~& {# |5 h2 X9 F
+ f% X2 S+ i, W7 b1 C% YRange("N:N").ClearContents; l  @" U& Q- Y9 ]! Q, ?, t

: ?8 G( _8 H  fDo While FileName > ""
& `( M/ U1 I& R* g* T; l" v% z' ]  s) a, K: ]0 s5 r1 a! a/ U) w
i = i + 1* s% ~7 `% x& J2 s
4 d5 J' H9 \/ R: u8 v- J
Range("N" & i) = FileName. E. |$ Q5 |& z

2 ^( Y6 T( F% G( ^* P# e: RFileName = Dir( V0 ]3 Q/ b7 _; ?1 \- y' I
; l8 [. D' h2 I1 G: |
Loop
# V8 I# M0 ]5 Y* M
6 O+ t; f( f7 T" h) H1 LEnd Sub

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

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

评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 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:046 z' y0 P, `4 z6 A4 |# h
“/B”代表的含义是什么?
0 ~" ?  \6 x& V% z% _
捕获.JPG # {; h7 K6 U! d8 O7 S
上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)! o5 n  p# r! ~5 R) E' n
" g  L1 z% G! R# K! T8 m
捕获2.JPG % ?! f5 O1 O3 v# Z! W" y# i
上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。
. A# s. t  ^5 R) e0 r
回复 支持 反对

使用道具 举报

发表于 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" b( r- s; y: H% a  T+ a
怎么批量在文件名中汉字前后加上括号?

2 ?! e2 F1 H2 E& o) G9 p这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。0 V; r4 R2 P/ W5 U7 _
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-11-26 17:46 , Processed in 0.061651 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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