powershell一行代码批量修改文件名(附命令详解)

您所在的位置:网站首页 文件夹里文件批量重命名 powershell一行代码批量修改文件名(附命令详解)

powershell一行代码批量修改文件名(附命令详解)

2023-10-05 17:37| 来源: 网络整理| 查看: 265

文章目录 写在前面具体步骤命令详解注意事项简单示例总结

写在前面

在日常办公中,批量修改照片/视频的文件名是一件让很多人头疼却又不得不面对的事情。我就经常会遇到下载的视频文件名中带有广告等信息的情况。

今天给大家介绍一种简单易懂的方法用来批量修改文件名,用到的工具是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并点击右键—,粘贴上述修改后的命令,回车即可完成文件名的修改 命令详解 命令&方法参数解释ls读取路径下的所有文件信息-i为单词Include的首字母,意为包含的内容,可使用通配符,后加参数*.txt意为查找所有后缀名为txt的文件,可自由替换-r为单词递归Recurse的首字母,意为递归查找foreach可类比for循环语句,意为对循环的每一个元素进行操作,后加操作内容$_用于读取每一个由foreach得到的元素,本例中返回文件的详细信息(状态、大小、路径).FullName该方法返回文件的完整路径ren为单词rename的前三个字母,后加文件的原始名称及修改后的名称.Replace该方法用于进行字符串的替换操作,后加参数:待替换的内容,替换后的内容 注意事项 以上命令&参数为了简洁可读,均使用别名(Alias)。powershell命令不区分大小写,首字母大写为提高可读性。待替换的文件名不能与路径中出现的内容相同,否则会报错,如下例路径中的Desktop和test,里面的字母若单独出现在待替换的内容中,则会因路径首先被修改而导致找不到文件。诸如中文符号(,),《,》等可能会因为编码问题导致修改不能成功,目前仅已知可以通过字符串分割的操作进行处理,欢迎知道的朋友在下方评论,十分感谢!对于不同的文件名,有些可能使用替换的方法会比较繁琐,这时候就要具体问题具体分析,欢迎大家一起学习。 简单示例

为方便大家理解,下面展示一个例子作简要说明:

如图1,从网络下载了若干视频(保存在D:\Desktop\test文件夹下),但每一个文件名前面有很多的广告内容: 图1

图1

现利用以上所给方法进行文件名的批量修改 执行如下命令:

ls "D:\Desktop\test" -i *.txt -r | foreach { ren $_.FullName $_.FullName.Replace("某某某网站荣誉出品--高清无水印--【微信公众号《XXX》获取更多资源】", "") }

所得结果如图2: 图2

图2 总结

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3