用 PowerShell 批量为主文件名添加字符串后缀

本文最后更新于:几秒前

用 PowerShell 批量为主文件名添加字符串后缀

我电脑里有些照片已经发布到了 Instagram,为了区分,需要把这些已发布的照片的重命名为「原来的主文件名_IG已发.jpg」的格式,也就是说,在主文件名后面加一个字符串作为后缀。

例如,把 IMG4106.jpg 重命名为 IMG4106_IG已发.jpg

我用 PowerShell 写了个小脚本。

1
2
3
4
Get-ChildItem -Filter "*.jpg" -File | ForEach-Object {
$mainname = $_.Name.Substring(0, $_.Name.IndexOf("."))
$newname = $mainname + "_IG已发.jpg"
Rename-Item $_.FullName $newname }

这个脚本涉及的知识点及其详解:

  1. Get-ChildItem -Filter "*.jpg" -File 获取当前文件夹下所有的 JPG 文件;用管道符 | 传递给 ForEach-Object 命令,逐个文件进行处理。
  2. $mainname = $_.Name.Substring(0, $_.Name.IndexOf(".")) 命名新变量 $mainname,将当前 JPG 文件的主文件名赋值给这个变量;$_.NameGet-ChildItem 传递给 ForEach-Object 的每个文件的文件名(不包含完整路径),$_.Name.Substring(0, $_.Name.IndexOf(".")) 是截取 $_.Name 的主文件名(从第一个字符开始,到「.」的前一个字符为止,所以文件名必须有且仅有一个「.)。
  3. $newname = $mainname + "_IG已发.jpg" 在变量 $mainname 的后面追加字符串 "_IG已发.jpg"
  4. Rename-Item 命令重命名,注意,Rename-Item 的第一个参数必须是文件的完整路径,所以使用了 $_.FullName,第二个参数是新的文件名,不需要完整路径,所以使用了 $newname

图片版权:

题图:"powershell" by laboratoriolinux is licensed under CC BY-NC-SA 2.0

头图:Image by peritas from Pixabay


求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”

用 PowerShell 批量为主文件名添加字符串后缀
https://blog.kukmoon.com/c7ed6225/
作者
Kukmoon谷月
发布于
2023年10月31日
许可协议