机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
1#
发表于 2020-5-5 15:03:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。. A( t" o; E$ f- N
) d6 @8 k- D8 x7 J
所以这个时候就可以祭出【批处理】了:9 ?4 y  |$ O5 K" z9 z$ A2 t- z

: r; B% w. [$ N  v1、新建一个.txt文件。
% B+ V  T8 a: y9 z7 w9 X2、打开,输入以下红字内容(这里以统计.PDF文件为例):
( Q, R% i% Y" b; h% r# r' l& cDIR  *.pdf /B  >LIST.TXT. L5 e1 W! r5 c3 j) }. V+ e% C; H

8 w, O7 d  X: E0 A( b3、保存文件,将.txt后缀改为.bat。: H0 h' n. \1 Z+ u
4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。
& U0 t6 b: z3 H( z. r2 v( l% C) r5 u$ ]. K6 z
特别的说明:& _) u' C" [7 v! y. ?( B, g  o; E
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)
    + H. z$ m' m: v+ w

, j8 c; j2 q$ h* j4 {6 H0 E5 }( l. a8 q- J; E" K, \2 j0 g
回复

使用道具 举报

2#
发表于 2020-5-5 16:10:43 | 只看该作者
转帖
6 v9 U. s: N, c0 x' Q, Q7 c8 a批量获取文件名+ Y- r- O( \0 D+ I2 @1 h# f
这里分享工具下载链接:
% b7 k* U( v, l+ m- t2 C
; {% x# j; P: a0 Dhttp://pan.baidu.com/s/1o8u6aiY7 m+ M6 [- c9 d" n
! x$ K& o) V% u" U
功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。9 u3 [0 Q; ]) o* ~- v' r/ Z

3 [6 D+ G# e7 J  m7 s2 I使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。5 @  ]% N: E# ~9 S* K

% I- `* ^$ I5 N$ O! A' P注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。
7 E: A) r  @: A9 L, c* t" D3 a9 |, J
授人以鱼不如授人以渔,这里直接上代码:  L1 q. [# R8 _# r

) N- X% b4 E7 n/ V+ e2 zPrivate Sub 提取文件名()! o: s- ~; v, P
. J6 U- t* g( Y% J/ R4 x% r( g- }( @& P
Dim FileName As String
  [2 v/ U! |% G$ S: t' Y: l& O) o5 ?; ?  z9 s, E1 z8 k
Dim i As Long
5 |" _; |, b  m& A$ y3 N1 D  \0 l" X$ E5 G* }2 y
Dim tmp As String2 F7 K4 Z. Y% h) b4 r% b( J

8 w6 I1 U# r! a% d* ymypath = ActiveWorkbook.Path
1 l( ]0 i% t" o1 c6 l- ]; M' K, v; K$ o1 \
FileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推
4 c! Q" a2 H" c' S9 u
  r# ]- i: p- Bi = 0
! }) t1 }- }4 t+ K4 {8 [: n, ]$ u/ e- z1 I: R' F
Range("N:N").ClearContents, `% |3 {; H) ?" o1 ~

0 U9 Q: Q. ^7 `$ wDo While FileName > ""
- B, n0 s. q' e0 W+ E$ x; V, R/ \) x$ i
i = i + 1
1 Y' M/ N# n( c. v
, s4 E4 J  z: X8 b" t# e) z1 eRange("N" & i) = FileName: y  b4 ]4 S4 }
8 k3 s1 C0 z  ?, s
FileName = Dir. z9 k" j$ ~1 F3 b6 i9 `5 s
# W4 W( T1 a  {; g" S
Loop
7 w( L, n) u5 k4 p2 U
. B0 T6 z& S& p, O! x2 g. A" o: c- fEnd 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$ @4 P& \" y$ m8 L1 H* V
“/B”代表的含义是什么?

# g. h1 b" ^9 _9 D& a/ e( a 4 r7 z# m. b/ s0 E! d6 v8 }
上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)/ X5 v  H- A! N, F, }, Q) b
0 n* x( j& q* l' }

2 U$ ]5 b% T, S上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。
6 L# w2 b  f1 P/ w! f/ U& y
回复 支持 反对

使用道具 举报

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
9 s& G+ w* z: j$ ~7 D, Y怎么批量在文件名中汉字前后加上括号?
/ f" S/ u5 M& T7 ]0 ^0 s) j7 r
这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。
, V% R+ J, H/ A& D
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 09:28 , Processed in 0.055265 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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