如何用PowerShell批量修改多子文件夹下的文件扩展名?
批量修改多子文件夹内.log文件扩展名及直接搜索关键词方案
方案1:批量将.log改为.txt(适配资源管理器搜索)
在PowerShell中执行以下命令,可递归处理所有子文件夹内的.log文件:
# 先试运行(不实际修改),确认目标文件正确后去掉 -WhatIf 参数 Get-ChildItem -Path "你的解压根文件夹绝对路径" -Filter *.log -Recurse | Where-Object { !$_.PSIsContainer } | Rename-Item -NewName { $_.BaseName + '.txt' } -WhatIf
参数说明:
-Path:替换为你的解压文件夹实际路径(例如D:\Files\ExtractedData)-Filter *.log:仅筛选.log格式文件-Recurse:遍历所有嵌套子文件夹Where-Object { !$_.PSIsContainer }:确保只处理文件,排除文件夹-WhatIf:预览修改操作,无实际变更,验证后可删除该参数执行真实重命名
方案2:无需改扩展名,直接在PowerShell中搜索关键词
如果只是要查找包含特定关键词的内容,无需修改扩展名,直接用以下命令即可:
Get-ChildItem -Path "你的解压根文件夹绝对路径" -Filter *.log -Recurse | Select-String -Pattern "你要搜索的关键词"
该命令会输出所有包含关键词的文件路径,以及对应的匹配行内容,效率比改扩展名后用资源管理器搜索更高。
内容的提问来源于stack exchange,提问作者MWallace
相关产品推荐
相关产品推荐

