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

[其他] [已解决]批处理如何从文件里提取分段内容到txt


更正一下,图片应该显示的是tmd1.bin和tmd2.bin文件

请问如何用批处理把tmd1.bin和tmd2.bin文件位置0x141至0x144和0x155至0x159的内容批量提取到文本?
提取后的内容如下图所示:


提到的文件
链接:https://pan.baidu.com/s/1IRRD4klL459tC6esffWcMg
提取码:5a95

提取tmd*.bin文件指定位置数据到data.txt,如下图

你发的文件和一楼显示的不一样
  1. @powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause&exit
  2. Remove-Item "data.txt" 2>$null
  3. dir tmd*.bin | foreach {
  4.     $stream = [System.IO.File]::OpenRead($_.FullName)
  5.     $stream.Position = 33
  6.     $str=""
  7.     for($i=0;$i -lt 4;$i++){ $str+='{0:X2}' -f $stream.ReadByte() }
  8.     $str+=" "
  9.     $stream.Position = 53
  10.     for($i=0;$i -lt 5;$i++){ $str+='{0:X2}' -f $stream.ReadByte() }
  11. $str
  12.     $str | Out-File "data.txt" -Append
  13.     $stream.Close()
  14. }
复制代码
2

评分人数

TOP

看了下样本 代码仅针对此样本
  1. @echo off
  2. >data.txt (for %%a in (tmd1 tmd2) do (
  3.       powershell "$h=Format-Hex %%a;-join($($h[20].Bytes[1..4] |%% ToString  X2;' ';$h[21].Bytes[5..9] |%% ToString  X2))"
  4. ))
  5. pause
复制代码

TOP

返回列表