在Windows操作系统中,使用powershell脚本批量删除、批量替换文件名 |
您所在的位置:网站首页 › 火龙果脚本 › 在Windows操作系统中,使用powershell脚本批量删除、批量替换文件名 |
比如我们下载的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 |