机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: 魍者归来
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2020-5-5 15:03:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。
( I+ _7 G" }: |& V0 z& v1 ^. [7 k; A
所以这个时候就可以祭出【批处理】了:
/ d" b9 N3 Z% k4 z3 a! g5 \& ^0 H4 A* Y% }
1、新建一个.txt文件。$ t* \, y. d  W8 ~! k; [
2、打开,输入以下红字内容(这里以统计.PDF文件为例):
% z( P. O- \7 J' g6 b, V8 pDIR  *.pdf /B  >LIST.TXT
- V) e4 v6 A) ^+ {$ d
4 i) F6 b/ n1 E/ B3、保存文件,将.txt后缀改为.bat。
# B6 |" N9 O# ]3 i* h# \4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。
1 q4 s* M  a; ]4 Q  }  S
9 Z2 I  |6 s% j1 ~' f1 V特别的说明:0 T  |9 p! u! [# O! @5 E: T
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)1 C$ W, V" k& ~

7 d. q5 p( S5 M  j
$ R7 u0 K+ ^4 G$ g: G2 e8 c  _( i
回复

使用道具 举报

2#
发表于 2020-5-5 16:10:43 | 只看该作者
转帖3 b$ N: Z$ N& `9 z6 B
批量获取文件名
5 C  B5 l9 R+ t; y# p. i1 N. L% k3 N这里分享工具下载链接:4 p2 Z# _& i* f
7 w" e8 [( A- b% i
http://pan.baidu.com/s/1o8u6aiY
2 f3 X1 `  C" |: w6 ]; M* I/ T# w) O/ p7 k
功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。
2 D$ T: e. G6 l' L
( d* z3 j1 @, n+ |6 ?4 n2 N使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。3 `' v: ^: c3 s5 K0 I0 [& S3 D  p
8 C5 t$ r1 I8 e1 b
注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。, \  |! T% u2 t: R. Y: t

4 i* s2 n7 X, P0 w1 ?授人以鱼不如授人以渔,这里直接上代码:
5 _6 k/ N) p6 L5 h% N/ ~$ I7 G3 d& O
Private Sub 提取文件名()# ~' ^% X, j, s

: A7 A0 Q# I/ b0 \' `# T/ GDim FileName As String
9 L1 g. \  K' q: V% t  ?& _( r- e! m" D5 ]1 W
Dim i As Long
4 [  f2 N# f& Q/ b' U, g  y5 X; B% ~) L. _  G' N$ c8 e
Dim tmp As String4 Z7 {3 j+ i8 ]( j! C7 k7 B
/ i; u3 O3 _* U& ^0 z0 o4 P
mypath = ActiveWorkbook.Path
% B: d5 N  ?( t( V" A4 R* ^6 v$ O" C* T+ s# {3 g" H1 z
FileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推
& a8 @, x+ k# }, i3 c) N( C# m+ M( t. {0 t
i = 0
$ B8 \  K! c/ G/ D$ S8 w9 x
  I" Q3 h8 C+ p2 n& E3 W  JRange("N:N").ClearContents
% V5 p7 ], J4 b
1 }  i" A0 t2 b0 l0 V1 X' P7 `Do While FileName > ""
  J7 y' d7 I  q8 X
9 m& \% |- p% k8 ?) c' Ci = i + 1+ V( t; W6 s& z

/ i+ j9 }+ ]# e) x% C( w4 {Range("N" & i) = FileName: l4 B% Z5 A) z9 H9 z# @, ^
/ `# X1 u$ T) H3 ?
FileName = Dir: L- ?. ~. c/ v" l+ A
8 c/ G% Y' q4 h4 M4 `/ }; k
Loop
0 W# g2 c* |) ]9 m& u! W" Q1 B
End Sub

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

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

评分

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

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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
0 O( U+ q  X1 w, s“/B”代表的含义是什么?
  s* O2 p0 Z) @
) J6 B7 U) J% |8 v  `, B
上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)
) M% d' e' q) o; y( f/ z4 }: r+ C

, D  \; e( w# Q! H. {0 m$ @上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。
6 `8 V( M+ m6 q9 v( f+ R4 R
回复 支持 反对

使用道具 举报

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
# y& h3 O2 F+ t怎么批量在文件名中汉字前后加上括号?

8 Y& U0 r6 e/ c) Z, k6 H% S2 F这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。8 ]- n3 a  u. ~& P( O9 @
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 20:58 , Processed in 0.054737 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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