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

使用PowerShell分割大体积.dmp文件的可行方案咨询

使用PowerShell分割大型.dmp文件的可行方案

.dmp属于二进制文件,无需解析其内部结构,直接按字节块拆分即可,用PowerShell可以轻松实现。以下是具体脚本和操作步骤:

分割脚本

param(
    [Parameter(Mandatory=$true)]
    [string]$InputFile,
    [Parameter(Mandatory=$true)]
    [string]$OutputPath,
    [Parameter(Mandatory=$true)]
    [string]$ChunkSize
)

# 确保输出目录存在
if (-not (Test-Path $OutputPath)) {
    New-Item -ItemType Directory -Path $OutputPath | Out-Null
}

$fileStream = [System.IO.File]::OpenRead($InputFile)
$buffer = New-Object byte[] (Invoke-Expression $ChunkSize)
$chunkNumber = 1

while (($bytesRead = $fileStream.Read($buffer, 0, $buffer.Length)) -gt 0) {
    $outputFile = Join-Path $OutputPath "$(Split-Path $InputFile -Leaf).part$chunkNumber"
    $outputStream = [System.IO.File]::OpenWrite($outputFile)
    $outputStream.Write($buffer, 0, $bytesRead)
    $outputStream.Close()
    $chunkNumber++
}

$fileStream.Close()
Write-Host "分割完成,共生成$($chunkNumber-1)个文件"

使用说明

  1. 将上述脚本保存为Split-DmpFile.ps1
  2. 执行脚本时指定参数:
    • -InputFile:目标.dmp文件的完整路径
    • -OutputPath:分割后文件的保存目录
    • -ChunkSize:每个分割块的大小,支持PowerShell可识别的单位(如1GB、500MB、100MB)
      示例命令:
    .\Split-DmpFile.ps1 -InputFile "C:\large.dmp" -OutputPath "C:\dmp_chunks" -ChunkSize "1GB"
    

合并脚本(还原.dmp文件)

分割后的文件需要合并才能正常使用,以下是合并脚本:

param(
    [Parameter(Mandatory=$true)]
    [string]$ChunkPath,
    [Parameter(Mandatory=$true)]
    [string]$OutputFile
)

# 按分割序号排序文件
$chunkFiles = Get-ChildItem -Path $ChunkPath -Filter "*.part*" | Sort-Object { [int]($_.Name -replace '.*part(\d+)', '$1') }

$outputStream = [System.IO.File]::OpenWrite($OutputFile)

foreach ($chunk in $chunkFiles) {
    $fileStream = [System.IO.File]::OpenRead($chunk.FullName)
    $buffer = New-Object byte[] 1MB
    while (($bytesRead = $fileStream.Read($buffer, 0, $buffer.Length)) -gt 0) {
        $outputStream.Write($buffer, 0, $bytesRead)
    }
    $fileStream.Close()
}

$outputStream.Close()
Write-Host "合并完成,生成文件:$OutputFile"

使用说明

  1. 保存为Merge-DmpFile.ps1
  2. 执行示例:
    .\Merge-DmpFile.ps1 -ChunkPath "C:\dmp_chunks" -OutputFile "C:\restored.dmp"
    

注意事项

  • 分割和合并过程中不要中断,否则会导致文件损坏
  • 确保输出目录有足够的存储空间
  • 合并时要保证所有分割块都存在,且序号连续

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:43:20