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

如何使用PowerShell或CMD批量重命名多文件夹中的唯一TGA文件为统一名称

如何使用PowerShell或CMD批量重命名多文件夹中的唯一TGA文件为统一名称

没问题,这种批量重命名的需求用PowerShell或者CMD都能轻松搞定,毕竟手动改上千个文件夹实在太折磨人了。我给你两种方案,你根据自己的习惯选就行:

PowerShell方案

PowerShell的灵活性更高,还能帮你做简单的校验,避免误操作:

  1. 打开PowerShell(直接在开始菜单搜索“PowerShell”即可)
  2. 复制下面的命令,替换成你的实际路径和目标文件名:
# 替换为你的父文件夹路径,比如Z:\ClientWork
$parentPath = "Z:\ClientWork"
# 替换为你想要的统一文件名
$newFileName = "bob.tga"

# 遍历父文件夹下的所有子文件夹
Get-ChildItem -Path $parentPath -Directory | ForEach-Object {
    # 在当前子文件夹里找所有TGA文件
    $tgaFile = Get-ChildItem -Path $_.FullName -Filter "*.tga" -File
    # 确保每个文件夹里只有一个TGA文件(符合你的场景)
    if ($tgaFile.Count -eq 1) {
        # 执行重命名,-WhatIf是预览模式,不会实际修改文件
        Rename-Item -Path $tgaFile.FullName -NewName $newFileName -WhatIf
    }
}
  1. 先运行带-WhatIf的命令,看看输出的重命名计划是不是符合你的预期,确认没问题后,去掉-WhatIf再执行一次就完成了。

如果遇到某个文件夹已经存在同名文件(比如已经有bob.tga),想强制覆盖的话,可以在Rename-Item后面加上-Force参数。

CMD方案

如果你更习惯用命令提示符,这个简单的脚本也能完成任务:

  1. 打开命令提示符(开始菜单搜索“CMD”即可)
  2. 复制下面的命令,替换路径和目标文件名:
@echo off
:: 替换为你的父文件夹路径
set "parentPath=Z:\ClientWork"
:: 替换为你想要的统一文件名
set "newFileName=bob.tga"

:: 遍历父文件夹下的所有子目录
for /d %%d in ("%parentPath%\*") do (
    :: 重命名该目录下的TGA文件(每个目录只有一个,所以直接用通配符)
    ren "%%d\*.tga" "%newFileName%"
)
  1. 运行这个脚本就会自动处理所有子文件夹里的TGA文件。如果遇到同名文件需要自动覆盖,把ren那一行改成ren "%%d\*.tga" "%newFileName%" /y就行(/y参数会跳过确认直接覆盖)。

小提醒

不管用哪种方法,建议先找几个测试文件夹跑一遍,确认效果后再批量处理所有文件夹,避免意外修改错误的文件哦。

备注:内容来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:34:32