用 PowerShell 批量为主文件名添加字符串后缀
我电脑里有些照片已经发布到了 Instagram,为了区分,需要把这些已发布的照片的重命名为「原来的主文件名_IG已发.jpg
」的格式,也就是说,在主文件名后面加一个字符串作为后缀。
例如,把 IMG4106.jpg
重命名为 IMG4106_IG已发.jpg
。
我用 PowerShell 写了个小脚本。
1 |
|
这个脚本涉及的知识点及其详解:
Get-ChildItem -Filter "*.jpg" -File
获取当前文件夹下所有的 JPG 文件;用管道符|
传递给ForEach-Object
命令,逐个文件进行处理。$mainname = $_.Name.Substring(0, $_.Name.IndexOf("."))
命名新变量$mainname
,将当前 JPG 文件的主文件名赋值给这个变量;$_.Name
是Get-ChildItem
传递给ForEach-Object
的每个文件的文件名(不包含完整路径),$_.Name.Substring(0, $_.Name.IndexOf("."))
是截取$_.Name
的主文件名(从第一个字符开始,到「.
」的前一个字符为止,所以文件名必须有且仅有一个「.
」)。$newname = $mainname + "_IG已发.jpg"
在变量$mainname
的后面追加字符串"_IG已发.jpg"
。- 用
Rename-Item
命令重命名,注意,Rename-Item
的第一个参数必须是文件的完整路径,所以使用了$_.FullName
,第二个参数是新的文件名,不需要完整路径,所以使用了$newname
。
图片版权:
题图:"powershell" by laboratoriolinux is licensed under CC BY-NC-SA 2.0
求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”
用 PowerShell 批量为主文件名添加字符串后缀
https://blog.kukmoon.com/b977815f4cf2/