在Windows操作系统中,使用powershell脚本批量删除、批量替换文件名

您所在的位置:网站首页 火龙果脚本 在Windows操作系统中,使用powershell脚本批量删除、批量替换文件名

在Windows操作系统中,使用powershell脚本批量删除、批量替换文件名

2024-07-16 21:44| 来源: 网络整理| 查看: 265

比如我们下载的mp3文件或者小说、评书里都带很多作者、网站等信息,如何批量一键删除掉多余的字段呢?

下面举例:批量删除文件名称

可以看到原文中,所有文件名中均包含"小番茄与火龙果-"这字段,我的目标是删除这部分字段,保留其他。

powershell脚本为(最好管理员运行)

# 指定源文件夹的路径 "D:\a" $sourceFolder = "D:\a" # 获取源文件夹中的所有 mp3 文件,以"小番茄与火龙果-"开头的mp3文件,“*”代表任意数量字符 $mp3Files = Get-ChildItem -Path $sourceFolder -Filter "小番茄与火龙果-*.mp3" # 循环处理每个文件并重命名 foreach ($file in $mp3Files) { # 删除 "小番茄与火龙果-" 字段,其实这里是替换为"空",因此是删除了 $newFileName = $file.Name -replace "小番茄与火龙果-", "" $newFilePath = Join-Path -Path $sourceFolder -ChildPath $newFileName Rename-Item -Path $file.FullName -NewName $newFileName }

$newFileName = $file.Name -replace "小番茄与火龙果-", ""

脚本中这段代码,其实这里是将"小番茄与火龙果-"  替换  为   "空"  ,如果你想替换为”故事“,可以这样操作

$newFileName = $file.Name -replace "小番茄与火龙果-", "故事"

 

在powershell里直接执行后的截图(是管理员运行)

我们返回到 ”D:\a“目录下,看到文件名已经批量被删除掉"小番茄与火龙果-"的开头字段

这里有个小插曲,在删除这里时,遇到了困难

我要删除“蔬菜警长·常规故事·”的时候,发现powershell里是无法输入这个 · 符号的,复制粘贴等,都不可以,原生不支持

针对这种无法使用的特殊符号 · 之类的需求,可以使用字符串替换方法。由于 PowerShell 中可以处理 Unicode 字符,您可以直接使用中文字符 · 进行替换。

$sourceFolder = "D:\a" $mp3Files = Get-ChildItem -Path $sourceFolder -Filter "*.mp3" foreach ($file in $mp3Files) { $newFileName = $file.Name -replace "[\u00b7]", "" $newFilePath = Join-Path -Path $sourceFolder -ChildPath $newFileName Rename-Item -Path $file.FullName -NewName $newFileName }

因此我通过查询Unicode字符对照表[\u00b7],干掉了 · 字符



【本文地址】


今日新闻


推荐新闻


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