本文主要是介绍自动分割文本编辑器打不开的超大文本文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以下代码中把$inputFile和$outputFilePrefix 分别换成你的文件和需要分割后放到的文件夹;
# 定义要分割的文件路径和分割后文件的前缀
$inputFile = "D:\logheiping\Logs\CNGarage.log"
$outputFilePrefix = "D:\logheiping\Logs\splitlog"
$chunkSizeMB = 100 # 每个小文件的大小(单位:MB) # 计算每个分块的大小(以字节为单位)
$chunkSizeBytes = $chunkSizeMB * 1MB
$buffer = New-Object byte[] $chunkSizeBytes
$fileCount = 1 # 读取大文件并分割成小文件
$stream = $null
try { $stream = [System.IO.File]::OpenRead($inputFile) while (($bytesRead = $stream.Read($buffer, 0, $buffer.Length)) -gt 0) { $outputFilePath = Join-Path $outputFilePrefix ("{0:D3}.log" -f $fileCount) $outputStream = $null try { $outputStream = [System.IO.File]::Create($outputFilePath) $outputStream.Write($buffer, 0, $bytesRead) } finally { if ($outputStream -ne $null) { $outputStream.Close() $outputStream.Dispose() } } $fileCount++ }
}
finally { if ($stream -ne $null) { $stream.Close() $stream.Dispose() }
} Write-Host "File has been split into $($fileCount - 1) chunks."
在你的PowerShell 中执行PowerShell.exe -ExecutionPolicy Bypass -File D:\logheiping\Logs\splitfile.ps1
等待执行完毕会打印“File has been split into (分割成了多少个文件) chunks.”
这篇关于自动分割文本编辑器打不开的超大文本文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!