powershell - 我需要将 100-250MB 左右的 txt 分成 25MB 的部分
问题描述
我需要拆分很多文件,在其他较小的文件中。因为服务器读取大文件时,CPU占用了100%的使用率,我只能接受最高70%的费用。所以我认为如果我可以将它们分成大约 25 MB 的文件,那将是完美的。
文件示例:
2018 年 7 月 11 日 loginfo B4 45 FR.txt -- 100MB
我想要的结果:
1 2018 年 7 月 11 日 loginfo B4 45 FR.txt -- 25MB 2 2018 年 7 月 11 日 loginfo B4 45 FR.txt -- 25MB 3 2018 年 7 月 11 日 loginfo B4 45 FR.txt -- 25MB 4 2018 年 7 月 11 日 loginfo B4 45 FR.txt -- 25MB
要记住的另一件事是控制小于 25MB 的文件。
解决方案
这应该有效。请注意 -ReadCount 512 位表示它将一次处理 512 行。
$FromPath = "C:\LOGS\LOG.txt"
$ToPath = "C:\LOGS"
$From = Get-Content -Path $FromPath -ReadCount 512
$SplitN = 1
$N = 0
while ($N -lt $From.Count) {
$IT = New-Item "$ToPath\Logout $SplitN.txt"
while ($(Get-Item -Path $IT.FullName).Length -lt 25mb -and ($N -lt $From.Count)){
Add-Content -Path $IT.FullName -Value $From[$N] #$From[$N]
$N++
}
$SplitN++
}
推荐阅读
- python - 如何为 QTableWidget 设置选择滑块?
- csv - 将现有和填充的 Julia 数据帧写入 csv 输出时出错
- php - Laravel 5.8 Auth guard [api] 未定义
- javascript - 尝试从 JavaScript 读取本地文件时访问被拒绝
- java - 如何在类实例之间共享相同的变量?
- express - 用于身份验证的异步中间件的开玩笑测试
- macros - Gnu Assembler:评估宏参数中的符号?
- excel - 如何检查过滤器中的值是否存在?
- c# - 如何从后面的代码中获取价值以进行确认对话框
- android - 基于导航抽屉选择kotlin的浮动动作按钮代码行为