You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell新手求助:如何实现指定路径下特定扩展名文件批量重命名

PowerShell批量重命名指定文件

直接给你修正后的两种可行脚本:

简洁管道写法(推荐)

# 先加-WhatIf预览修改效果,确认无误后删除这个参数
Get-ChildItem -Path C:\temp -Include *.docx, *.txt -File | Rename-Item -NewName { $_.Name -replace 'CASENUMBER', 'case1' } -WhatIf

清晰循环写法(适合新手理解)

Get-ChildItem -Path C:\temp -Include *.docx, *.txt -File | ForEach-Object {
    # $_.FullName是当前文件的完整路径,确保重命名命令能精准定位文件
    Rename-Item -Path $_.FullName -NewName ($_.Name -replace 'CASENUMBER', 'case1') -WhatIf
}

原脚本的问题说明:

  1. 操作无关联:你原来的两条命令是独立的,$_变量只有在管道流或循环脚本块里才代表当前遍历到的文件,单独执行Rename-Item时PowerShell不知道要操作哪个文件。
  2. 参数搭配错误:用-Include时,把-Path设为C:\temp(不带末尾的*)更可靠;加上-File参数能只筛选文件,避免误操作文件夹。
  3. 重命名参数格式不对:直接写-Newname ($_.Name -replace ...)无效,要么用脚本块{}包裹替换逻辑,要么在循环里明确指定文件路径。

记得先保留-WhatIf运行一遍,确认预览的重命名结果符合预期后,再去掉该参数执行实际修改。

内容的提问来源于stack exchange,提问作者Kevin Yu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:44:52