使用Windows PowerShell移除文件名开头的随机字符串
用PowerShell批量重命名含固定关键词的文件
针对你需要去掉文件名开头随机字符串、保留从“File”关键词开始部分的需求,可以用PowerShell的正则替换实现批量处理:
核心命令
# 先试运行(不会实际修改文件) Get-ChildItem -Filter "*.ext" | Rename-Item -NewName { $_.Name -replace '^.*?(File.*)$', '$1' } -WhatIf # 确认输出正确后,去掉-WhatIf执行实际重命名 Get-ChildItem -Filter "*.ext" | Rename-Item -NewName { $_.Name -replace '^.*?(File.*)$', '$1' }
命令说明
Get-ChildItem -Filter "*.ext":获取当前目录下所有.ext后缀的文件,可根据实际文件后缀修改Filter,比如改成"*.*"处理所有类型文件,但建议精准过滤避免误操作-replace '^.*?(File.*)$', '$1':利用正则表达式匹配替换:^.*?:匹配文件名开头的任意字符(非贪婪模式,确保只匹配到第一个“File”之前的内容)(File.*)$:捕获从“File”开始到文件名结尾的全部内容$1:将原文件名替换为捕获到的这部分内容
-WhatIf:安全测试参数,执行时只会输出预期的重命名结果,不会实际修改文件,确认无误后再移除该参数执行真实重命名
扩展说明
如果需要处理子目录中的文件,给Get-ChildItem加上-Recurse参数即可:
Get-ChildItem -Filter "*.ext" -Recurse | Rename-Item -NewName { $_.Name -replace '^.*?(File.*)$', '$1' } -WhatIf
内容的提问来源于stack exchange,提问作者Samuel Gidman
相关产品推荐
相关产品推荐

