赞
踩
在日常办公中,批量修改照片/视频的文件名是一件让很多人头疼却又不得不面对的事情。我就经常会遇到下载的视频文件名中带有广告等信息的情况。
今天给大家介绍一种简单易懂的方法用来批量修改文件名,用到的工具是Windows 10系统自带的powershell(鉴于其跨平台的特性,Mac、Linux用户也可以使用powershell)。
ls "D:\Desktop\test" -i *.txt -r | foreach {
ren $_.FullName $_.FullName.Replace("oldname", "newname")
}
D:\Desktop\test 修改为 所要更改的文件夹路径
oldname 修改为 原文件包含的文件名
newname 修改为 要替换的新文件名
Shift并点击右键—<在此处打开powershell窗口>,粘贴上述修改后的命令,回车即可完成文件名的修改| 命令&方法 | 参数 | 解释 |
|---|---|---|
| ls | 读取路径下的所有文件信息 | |
| -i | 为单词Include的首字母,意为包含的内容,可使用通配符,后加参数*.txt意为查找所有后缀名为txt的文件,可自由替换 | |
| -r | 为单词递归Recurse的首字母,意为递归查找 | |
| foreach | 可类比for循环语句,意为对循环的每一个元素进行操作,后加操作内容 | |
| $_ | 用于读取每一个由foreach得到的元素,本例中返回文件的详细信息(状态、大小、路径) | |
| .FullName | 该方法返回文件的完整路径 | |
| ren | 为单词rename的前三个字母,后加文件的原始名称及修改后的名称 | |
| .Replace | 该方法用于进行字符串的替换操作,后加参数:待替换的内容,替换后的内容 |
powershell命令不区分大小写,首字母大写为提高可读性。为方便大家理解,下面展示一个例子作简要说明:
如图1,从网络下载了若干视频(保存在D:\Desktop\test文件夹下),但每一个文件名前面有很多的广告内容:

现利用以上所给方法进行文件名的批量修改
执行如下命令:
ls "D:\Desktop\test" -i *.txt -r | foreach {
ren $_.FullName
$_.FullName.Replace("某某某网站荣誉出品--高清无水印--【微信公众号《XXX》获取更多资源】", "")
}
所得结果如图2:

powershell目前来看还是一款十分小众的shell工具,但随着其在更多领域(网络安全,系统管理等)上的应用,以及其开源特性,一定会让更多人了解并熟悉这个十分Power的工具。本人最近正在学习powershell,会陆续更新一些相关的博客,欢迎大家支持,指正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。