[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] powershell快速创建\分割大文本

想用powershell写一个按行数分割文本的脚本。
于是用以下代码生成300000行的txt,耗时80秒!
  1. 1..300000 >30w.txt
复制代码
用以下代码按行数(15000行)来分割30w.txt成20个小文本,耗时0.7秒!
  1. $txt="30w.txt"
  2. $lines=15000
  3. $name=(dir $txt).basename
  4. $ext=(dir $txt).extension
  5. $sn=$begin=0
  6. $filecontent=gc $txt -readcount 0
  7. do{
  8. $lend=$lbegin+$lines-1
  9. $cut=$filecontent[$lbegin..$lend]
  10. $sn++
  11. $fname="{0}{1}{2:d3}{3}" -f $name,"_",$sn,$ext
  12. sc -value $cut $fname
  13. clv cut
  14. $lbegin+=$lines
  15. }until($lbegin -ge $filecontent.length)
  16. write-host "$txt 切分完毕"
  17. write-host "共$sn 个文本"
  18. #$null=[console]::readkey()
复制代码
不能理解,为啥两者用时会相差这么远
另,有更好的方法来生成或者分割这样的大文本吗?谢谢。

https://www.pstips.net/speeding-up-powershell-multithreading.html
这里补充一点关于powershell效率的知识

TOP

返回列表