自动分割文本编辑器打不开的超大文本文档

以下代码中把$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.”

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值