找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 8584|回复: 10

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

[复制链接]
发表于 2020-5-5 15:03:33 | 显示全部楼层 |阅读模式
有时候我们统计当前文件夹内某种文件的文件名,少的时候当然手打就ok,面对几百张图纸的时候这并不是个理智的方法。2 Q/ i7 M4 J0 b( j
4 v, P5 L; _/ x
所以这个时候就可以祭出【批处理】了:
  @- ^) g+ R8 p' y0 A9 l8 S* N! h) e
9 Z5 k+ c1 }4 o1、新建一个.txt文件。
! d. B& m+ o" `8 F# \  c( P9 h( g2、打开,输入以下红字内容(这里以统计.PDF文件为例):" `9 w  m: `, z9 d% O+ L/ @- S
DIR  *.pdf /B  >LIST.TXT5 L, G% @) b" _8 m
- b5 w. \9 T& @$ K. K2 y: S
3、保存文件,将.txt后缀改为.bat。
) o; e$ t! F) E! G- ?4、双击运行,会在当前文件夹生成一个LIST.TXT文件,打开可以看到里面的内容就是当前文件夹下全部PDF文件清单。
! [+ |' Y# y& Z. q" k' h- h0 @* v
特别的说明:
9 w. f1 z0 @) c% L7 q" d- N
  • 上述红色字体的部分可以直接复制黏贴,所有字符(包括空格)均为英文半角
  • .pdf可以替换成自己需要的后缀名,比如统计图纸的时候可以改成.dwg等。
  • LIST.TXT是用来存储清单的文本文档,其中LIST可以替换成自己习惯的名字,但不要用中文,会出现乱码。
  • 保存好的.bat文件复制到任何有权限的文件夹都可以使用。(注意:不会统计子文件夹中的文件)
    . M" A9 \, I+ O1 |

. x2 G8 Y% N/ L5 w, S  W+ Z/ G# e
7 _% N; C* `( i8 i
回复

使用道具 举报

发表于 2020-5-5 16:10:43 | 显示全部楼层
转帖
/ H2 s7 ^8 a+ K  [$ }. W& Q批量获取文件名6 l5 y: H" s5 Z8 ~+ u
这里分享工具下载链接:3 f: c+ \4 n7 m+ l3 D9 J

: b8 a# @7 W$ lhttp://pan.baidu.com/s/1o8u6aiY
8 z( g. Q& y8 g5 J0 q! U1 u0 f+ E2 U8 E5 G6 b
功能:批量获取同一个文件夹内的文件名,并根据文件名统计分支机构的文档报送情况。
4 G# n7 W+ d, ^
  w1 w9 T, F; E使用方式:将表格文件放入存放需要统计各种文件的文件夹内,打开EXCEL表格,选择需要统计的文件类型,点击按钮运行宏即可。2 ]2 _+ [. n/ g8 n3 \! v2 b
" n7 L9 D% M: O3 Q! {
注意事项:最好在收集保存文件时,按照报送机构关键字重命名文件(可以通过VBA代码在OUTLOOK中自动存储邮件的附件并重命名,这个以后再和大家分享)。
3 b6 e: @. O- @5 j* R
5 o  A9 }% T+ E/ t6 x& c5 ~授人以鱼不如授人以渔,这里直接上代码:
8 {7 ?4 T  ?' c  p3 `+ r- [
1 l1 x6 f; e+ {, E% j# k& wPrivate Sub 提取文件名()5 `& Z! c3 D3 [+ u
: H! h+ ^. {5 L) G) B& K
Dim FileName As String3 B: J# z& z6 t, n+ h

, o4 |- m2 f' ^; XDim i As Long
4 a4 C% l  `# [, d4 [: B
9 B, y! r$ K* d9 I3 {9 T0 rDim tmp As String) V9 @  r  e1 }4 W' Q

6 l* ?: V* f  }/ _# gmypath = ActiveWorkbook.Path1 Q% n/ g* _1 G/ I& B- f# ^1 p
" K  f3 `9 e! s% A4 M: w, x
FileName = Dir(mypath & "\*.*")'如果是仅需要统计特定类型的文件如EXCEL,将*.*改为*.xlsx即可,以此类推, k* [6 Y7 E4 i0 X" C# h

$ `* k# w5 ?5 A9 M1 hi = 0
+ I; U5 k/ ]* A& `
& R# m9 y8 k! e6 VRange("N:N").ClearContents
) b! H, ^) q9 R3 ^( B  v, x1 U4 A4 e* L+ n6 k+ y, L; {
Do While FileName > ""
( J# Z2 u/ c6 f5 [  g6 G; C; N$ q: v7 @6 y/ Z
i = i + 1* J& P8 s9 Q+ i: l( X& ?% j

8 [; T. D1 k2 f8 a* ERange("N" & i) = FileName
4 n& q5 z& x: c- i0 Q4 `1 d
6 F6 \1 l6 w6 @1 Q! J- R4 o- YFileName = Dir
" P" A2 _+ \' I9 ]+ R9 m0 P  O4 z* \) y& P8 h" V
Loop
8 B( i" H7 l/ i$ P3 W
# g# O4 d( S4 c1 CEnd 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' s, J, ?3 W; E5 Z
“/B”代表的含义是什么?
' K9 C9 m/ j8 j# Q
捕获.JPG 8 T; C- M' n( Q! I: W
上图是命令行中的提示信息,/B相当于输出简化的格式(也就是文件名或文件夹名)4 S: _3 p# i, a. L# I. J0 E
5 f, B; O" L) m' ]$ [3 q
捕获2.JPG   v. _5 ]5 a' w$ E1 I
上图是两个命令的对比:①用了dir /b,输出的是所在文件夹包含的子文件夹名和文件名;②用了dir,输出的是驱动器和文件(夹)的信息。( K; X3 X. G1 N4 h/ h: v3 `
发表于 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
: K7 @  o7 G0 _9 O7 m怎么批量在文件名中汉字前后加上括号?

! R1 F, m' a+ Z  C这个需求很古怪,一般都是要去括号的。可以拿excel中的替换功能当桥梁,批量修改文件名。或者有闲暇时间的,可以直接摞代码搞定。
$ c) ?9 N8 ~8 r; C* s
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-6-16 21:27 , Processed in 0.072418 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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