bat修改文件内容_「excel」批量提取修改电脑文件名称

今儿分享的严格来说不算Excel的内容,但是会使用Excel。会分享这个内容是因为突然想起来了,想当初为了领导让整理资料,几百个文件的名字都要修改成统一格式,为了偷懒我在网上搜了好久的教程,终于有了现在这个办法,兴奋了好久,可惜后来不能大规模部门内推广,所以要是使用的话,自己偷着用,或者问问负责人让不让用哈。不多说,看正文~

以下面这个图片的文件举例子,很乱,什么格式都有,文件名字长短不一,一个一个改费劲,那怎么办呢?就得想有什么办法可以批量修改,那批量的话我就得先获取这些文件的名字,然后批量修改这些名字,那整个的处理过程就分为两步,获取原始名称,修改统一格式。

7071ceb11c4fdf7d285eb939b845118d.png

文件名称不统一

第一步:获取原始名称

获取的方式网上有很多,我也是从网上学来的,我尽量说的明白些哈。

第一种:TXT获取法

1.在你将要提取文件名的文件夹内,新建一个txt格式的记事本文件

bf2e8bdbaf3e48604d955147b42abc91.png

新建一个TXT,名称随便写

2.在记事本文件中输入:DIR *.* /B >LIST.TXT

ccf6369fccce18c7695bc7edb644594a.png

TXT内写内容

3.将此记事本文件后辍名,由txt改为bat。会弹出重命名对话框,单击“是”。

6102f17f56db413c9c19404593049c33.gif

修改名字

4.改完了之后,双击运行这个文件此时就会获得一个LIST.TXT文件,打开之后就时获取到的文件名称了。

5e75c144c1132fab98d57d845c56f39b.gif

运行bat

这个文件可以重复使用,把它保存为一个常用小工具放在其他文件夹里运行,就可以获取当前文件夹下面的所有文件名了。

第二种:cmd指令获取法

这一种呢和上一个办法类似。

1.点击菜单或者键盘的win键,弹出开始菜单,输入cmd,打开它。

ebf374665fd771c0beffccc5e72a9ac9.png

cmd

2.进入目标文件夹(cd 目标文件目录),即在窗口输入cd 要提取名称的文件夹路径

00db8bce05921e847658001d8993a32c.png

步骤

3.获取当前文件下目录信息并保存到某个盘的某个文件中(dir >保存路径),即在窗口输入dir >提取之后的文件保存路径,比如dir >1.xls,测试过貌似只能这一个格式,原因不知道,如果以后知道了那就再补充,这里不妨碍使用即可。

4f0dc10ffb83bce82209abee4d618b2a.png

步骤

4.我把文件保存在d盘了,所以d盘下就出现了1.xls文件,打开之后就是这样啦

7ba661551c068dc76ee7bcea6957659d.png

结果

这个办法比第一种要复杂一些,不熟悉的不要轻易尝试,不然会试到崩溃,它没法复制,就很气人。反正我的电脑是没法复制,每次写路径都是手敲,敲错了还得重敲,ε=(´ο`*)))唉。

第三种:Excel宏文件获取法

这个办法是上面两个办法的进阶版,他可以作为一个工具使用,只要设置好即可,而且提取的信息很全面,即使是视频的时长等信息也可以获取到,唯一的缺点就是,处理大批量的文件时会很卡很耗时间,所以建议处理大批量的时候可以分批次处理,不然电脑卡了就很心累了。

1.开发者工具-插入-按钮控件

7d21e5548bbf2c251cc867c4e098b74e.png

插入控件

2.按钮是在表格中画出来的,然后回自动弹出指定宏的窗口,这时候就新建宏。

90018da04955cd0261b51b4edd3c2758.gif

指定宏

3.然后在sub和end sub之间粘贴如下代码,保存宏。

 Dim objShell, objFolder, objFolderItem, MyFile$, arr(500, 100), n& Set objShell = CreateObject("shell.application") With Application.FileDialog(msoFileDialogFolderPicker) .Title = "选择文件夹" If .Show = -1 Then objFolder = .SelectedItems(1) Else Exit Sub End With MyFile = Dir(objFolder & "*.*") Set objFolder = objShell.Namespace(objFolder) Do While MyFile <> "" Set objFolderItem = objFolder.ParseName(MyFile) If n = 0 Then For i = 0 To UBound(arr, 2) arr(0, i) = objFolder.GetDetailsOf(0, i) n = 1 arr(n, 0) = MyFile arr(n, i) = objFolder.GetDetailsOf(objFolderItem, i) Next Else For i = 0 To UBound(arr, 2) arr(n, 0) = MyFile arr(n, i) = objFolder.GetDetailsOf(objFolderItem, i) Next End If n = n + 1 MyFile = Dir Loop Cells.Clear Cells(1, 1).Resize(n + 1, UBound(arr, 2) + 1) = arr

4.下面嘛,美化它,按钮上右击,点编辑可以修改按钮的名称。至于怎么使用?直接点击按钮就会弹出窗口选择要提取的文件夹,然后稍等片刻。是真的很慢-_-||

add50070d9526234861ae257660cc579.gif

使用步骤

这个办法就是很慢,但是他提取的信息很全面,使用的时候看看自己的需求,如果只是提取文件名称,推荐第一和第二种,如果是提取视频的时长,那可以使用这个工具。

第二步:修改统一格式

好的,文件名称提取好了,那下面就是如何去修改它。

1.按图示整理文件名称,然后输入="REN "&原始文件名&" "&更改文件名。

102b0e5b6732927aa17d04265e37f15a.png

输入函数

2.得到的指令复制粘贴到一个文本文档中,保存。

c9b78b74691f1a47a75bec6446585dbd.gif

粘贴到txt

3.修改txt的扩展名为bat,双击运行,就变啦~

61b6b617e94c712c0487536df6127fb8.png

比如这样

这种方式有一个弊端就是文件名称本身不能带空格,不然的话就没法变了。至于带空格的怎么办呢?没找到办法,等以后学的多了,遇到了再补充。那这个教程到这里就结束啦,可以自己尝试一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值