You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下批量迁移并重命名上千个__data文件方法求助

批量迁移并重命名__data文件的解决方案(Windows 10)

搞定这个需求很简单,Windows 10自带的PowerShell就能轻松实现,我给你详细的操作步骤:

方法一:使用PowerShell脚本

步骤1:准备目标文件夹

先创建一个用来存放所有重命名后文件的文件夹,比如在D盘根目录新建Unity3D_Files(路径为D:\Unity3D_Files),你也可以根据自己的需求改路径。

步骤2:打开PowerShell

按下Win+X组合键,选择「Windows PowerShell」(或者在Windows Terminal里切换到PowerShell环境),如果源文件夹在系统盘或有权限限制,记得右键选择「以管理员身份运行」。

步骤3:运行批量处理脚本

把下面的代码复制到PowerShell里,记得修改开头的两个路径

  • $sourceRoot:替换成你的哈希命名文件夹所在的根目录(比如C:\GameAssets\HashFolders
  • $targetDir:替换成你刚才创建的目标文件夹路径(比如D:\Unity3D_Files
$sourceRoot = "C:\Path\To\Your\Hash\Folders"
$targetDir = "D:\Unity3D_Files"

# 确保目标文件夹存在,不存在则自动创建
if (-not (Test-Path $targetDir)) {
    New-Item -ItemType Directory -Path $targetDir | Out-Null
}

# 遍历所有__data文件,按序号重命名并迁移
$counter = 1
Get-ChildItem -Path $sourceRoot -Filter "__data" -Recurse -File | ForEach-Object {
    $newFileName = "__data($counter).unity3d"
    $targetFilePath = Join-Path -Path $targetDir -ChildPath $newFileName
    # 复制文件(如果要直接移动文件,把Copy-Item改成Move-Item即可)
    Copy-Item -Path $_.FullName -Destination $targetFilePath
    Write-Host "已处理:$($_.FullName) → $targetFilePath"
    $counter++
}

Write-Host "所有文件处理完成!共迁移了$($counter-1)个文件"

脚本说明

  • Get-ChildItem -Recurse会自动遍历源目录下所有子文件夹里的__data文件
  • $counter变量用来生成递增的序号,保证文件名不会重复
  • 如果你想直接移动文件而不是复制,把代码里的Copy-Item替换成Move-Item就行(建议先复制测试没问题后再移动)

额外注意事项

  • 测试先行:可以先找几个哈希文件夹,运行脚本测试一下,确保重命名和路径都符合预期
  • 权限问题:如果遇到无法访问文件的提示,重新以管理员身份打开PowerShell再运行脚本
  • 文件数量:上千个文件处理起来可能需要几分钟,耐心等待脚本执行完成即可

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

火山引擎 最新活动