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

回复 23# 5i365
  1. $krc='test.krc'
  2. $krcbytes = gc $krc -enc byte
  3. $key = @(0x0040, 0x0047, 0x0061, 0x0077, 0x005e, 0x0032, 0x0074, 0x0047, 0x0051, 0x0036, 0x0031, 0x002d, 0x00ce, 0x00d2, 0x006e, 0x0069)
  4. [byte[]]$decompress_bytes = foreach($ch in $krcbytes[4..$krcbytes.count]){$ch -bxor $key[$i++ % 16]}
  5. $in = New-Object System.IO.MemoryStream( , $decompress_bytes )
  6. $in.Position=2
  7. $gzipStream = New-Object System.IO.Compression.DeflateStream $in, ([IO.Compression.CompressionMode]::Decompress)
  8. $buf = New-Object 'byte[]' 1024
  9. [System.IO.MemoryStream] $out = New-Object System.IO.MemoryStream
  10. while ($($len = $gzipStream.Read($buf,0,$buf.length);$len) -gt 0){$out.Write($buf, 0, $len)}
  11. $gzipStream.Close()
  12. $out.Close()
  13. $tmp = $out.ToArray()
  14. $decode_bytes=[Text.Encoding]::utf8.GetString($tmp[0..$tmp.count]) -replace '<[^>]*>'
  15. sc -enc utf8 $($krc -replace '\.krc$','.lcr') $(foreach($match in ($decode_bytes -split '\n') -replace '^.*\[.*\]\s*$'){if($match -match '\[(\d*),\d*\]'){'[{0:mm:ss.ff}]{1}' -f [datetime]([int64]$matches[1]*10000),($match -replace '^\[\d*,\d*\]')}elseif($match -ne ''){$match}})
复制代码
1

评分人数

TOP

回复 22# 5i365


    可以吧我也是抄的
https://gist.github.com/marcgeld/bfacfd8d70b34fdf1db0022508b02aca

TOP

本帖最后由 idwma 于 2022-1-20 20:54 编辑

回复 24# 5i365
  1. sc -enc utf8 $($krc -replace '\.krc$', '4.lcr') $(foreach ($match in ($decode_bytes -split '\r\n') -replace '^.*\[.*\]\s*$|\[.*?,.*\]')
  2. {
  3. if ($match -notmatch '^\s*$') { $match }
  4. })
复制代码

TOP

返回列表