文章目录

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

写在前面

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

今天给大家介绍一种简单易懂的方法用来批量修改文件名,用到的工具是Windows 10系统自带的powershell(鉴于其跨平台的特性,Mac、Linux用户也可以使用powershell)。

具体步骤

  1. 新建文本文档,复制如下代码,并做修改
ls "D:\Desktop\test" -i *.txt -r | foreach {ren $_.FullName $_.FullName.Replace("oldname", "newname")
}

D:\Desktop\test 修改为 所要更改的文件夹路径
oldname 修改为 原文件包含的文件名
newname 修改为 要替换的新文件名

  1. 在桌面按住Shift并点击右键—<在此处打开powershell窗口>,粘贴上述修改后的命令,回车即可完成文件名的修改

命令详解

命令&方法 参数 解释
ls 读取路径下的所有文件信息
-i 为单词Include的首字母,意为包含的内容,可使用通配符,后加参数*.txt意为查找所有后缀名为txt的文件,可自由替换
-r 为单词递归Recurse的首字母,意为递归查找
foreach 可类比for循环语句,意为对循环的每一个元素进行操作,后加操作内容
$_ 用于读取每一个由foreach得到的元素,本例中返回文件的详细信息(状态、大小、路径)
.FullName 该方法返回文件的完整路径
ren 为单词rename的前三个字母,后加文件的原始名称及修改后的名称
.Replace 该方法用于进行字符串的替换操作,后加参数:待替换的内容,替换后的内容

注意事项

  1. 以上命令&参数为了简洁可读,均使用别名(Alias)。
  2. powershell命令不区分大小写,首字母大写为提高可读性。
  3. 待替换的文件名不能与路径中出现的内容相同,否则会报错,如下例路径中的Desktop和test,里面的字母若单独出现在待替换的内容中,则会因路径首先被修改而导致找不到文件。
  4. 诸如中文符号(,),《,》等可能会因为编码问题导致修改不能成功,目前仅已知可以通过字符串分割的操作进行处理,欢迎知道的朋友在下方评论,十分感谢!
  5. 对于不同的文件名,有些可能使用替换的方法会比较繁琐,这时候就要具体问题具体分析,欢迎大家一起学习。

简单示例

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

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

图1

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

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

所得结果如图2:

图2

总结

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

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

  1. PowerShell正则替换+批量修改文件名

    写在前面 最近对于修改文件名有了新的需求,就是批量去掉文件名中的括号以及数字,类似这样:(1),但是数字是会随着文件的不同而递增的,这就只能用正则表达式来搞定啦.修改文件名我还是采用了PowerShe ...

  2. woo语言一行代码批量修改文件名称

    woo语言一行代码 批量修改文件名称 1.windows平台 – 下方代码在需要修改的文件夹内使用cmd执行即可,把wo后缀修改为woo后缀: woo.exe -r "a = _args() ...

  3. linux 修改主机名 命令,Linux修改主机名命令详解

    Linux修改主机名命令 1.如果只需要临时更改主机名,可以使用hostname命令. sudo hostname # 例如: sudo hostname myDebian 这条命令不会更改/etc/ ...

  4. java修改服务器文件名,批量修改文件名 java代码

    批量修改文件名 java代码 [2021-02-03 13:40:55]  简介: php实现批量修改文件名称的方法:首先使用函数[rename]实现,代码为[$path = pathinfo($cu ...

  5. linux批量替换文件名中的日期,rename:Linux 批量修改文件名命令,支持正则表达式...

    昨天有需要要用到 Linux 批量改文件名,网上查了下,大多都是用 shell 脚本来实现的.我看了看那几句 shell 脚本,那几个 % 和 $ 的符号实在是没搞懂,也不想花时间去研究,于是又搜了搜 ...

  6. 使用命令批量修改文件名

    目录 需求 思路 使用awk命令将修改前.修改后的文件名打出来 使用xargs命令将修改前.修改后的文件名传入mv命令作为参数 需求 从某地下载了一些文件,这些文件名字都是aaaa-xxssxxx的格 ...

  7. python改文件名_python实现批量修改文件名代码

    我曾以为,写脚本是很难的,直到我遇到了Python 前言随着国内版权意识的跟进,很多影视音乐资源开始收费,而且度盘又经常随意封杀各种资源,所以,为了保护资源,老司机们越来越倾向于把资源下载到本地,但随 ...

  8. 整理照片在Win下批量修改文件名前缀,用命令行很有效,一条forfiles命令即可,可加日期限制、类型限制,手把手教你

    最近一直在整理电脑文件,当然最多的就是照片,在Mac有很方便的原生方法,使用简单,在网上马上可以找到说明,在此略过,因为照片大部分都在Win上面,所以还需要Win的解决方案. 网上查到的Win原生方法 ...

  9. python批量修改文件名代码_python批量修改文件名的示例

    今天中午看了一集动漫<进击的巨人>,看完后发现这些视频的名称有点乱,于是编程来批量重命名. 重命名之前的各名称格式为--飞极速[www.feijisu.com][16][720P][CHS ...

最新文章

  1. html页面获取服务器时间,[html]定时获取服务器时间和本地时间
  2. jQuery的load()方法
  3. python批量转换图片格式_python批量将图片转换为JPEG格式
  4. html嵌入原始数据,如何用html和javascript显示原始图像数据?
  5. 【转载】Spring Cloud底层原理
  6. 弹簧式止回阀行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  7. Gitea Extension for Visual Studio V1.0.62 发布
  8. MT9 二维数组打印(Python)
  9. 基于阿里云的系统灾备方法架构与安全应急预案介绍
  10. 电脑与电脑之间快速传输大文件的方法
  11. 敏捷领导力2.0培训体会
  12. SketchMaster滤镜中文版
  13. Unity3d架构之-Unity MVC框架 StrangeIoC
  14. SuperMap GIS的TIN地形数据优化
  15. 用c语言做自动售货机程序,C语言实现查询自动售货机中的商品价格【实例分享】...
  16. 钉钉总裁叶军与智办事CEO胡志强就企业绩效数字化进行了深度对谈
  17. 异步编程-线程实现异步编程
  18. 一个很牛的 linux shell脚本编写的俄罗斯方块游戏实例代码,非常牛逼
  19. Ex4:Image Warping and Image Morphing
  20. MOS管工作原理及详解

热门文章

  1. Shell脚本之七 选择、循环结构
  2. PHP 中 call_user_func 的使用
  3. service nginx start启动nginx出现Failed to start nginx.service:unit not found
  4. ASP .NET Controller返回类型
  5. Perl 日志分析W3A_system
  6. 关于SQL EXPRESS 2005的连接问题
  7. Interfaces
  8. 佳能发售曝光对应的「IXY DIGITAL 3000 IS」
  9. 数据库-MySQL-数据库设计-主键与索引
  10. cesium 3dtiles 加载本地数据_深入echarts学习:加载跨域、异步、本地json数据的防坑录