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

[代码合集] [已解决]批处理能不能根据16进制的地址来截取一个2M的文件

以前提的这个文件  高手们帮小弟搞定了  当我的文件大小是2M   用debug 就不可以了  大家帮忙啊
有个文件   我想截取16进制地址0010到1000之间的数值   这个有什么办法能做到  用第三方工具也可以

http://www.bathome.net/viewthread.php?from=notice&tid=19896
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

谢谢  完全搞定

TOP

回复 16# shchaoge

修改了一下 xxd,把 -p 改成了不换行输出。
  1. xd -b +0x10-0x1000 nv_data.bin | xxd2 -u -p >1.TXT
复制代码
1

评分人数

TOP

谢谢斑竹  基本达到我的要求  我用  xdw -b +0x10-0x1000 nv_data.bin | xxd -p >1.TXT  
文本上每行怎么只能显示60个字节  如果能不换行就好了  也就是都连在一起

TOP

本帖最后由 tmplinshi 于 2012-11-18 00:34 编辑

回复 14# shchaoge
  1. xdw -b +0x10-0x1000 nv_data.bin | xxd -p
复制代码

TOP

以5楼的文件nv_data.bin为例:0--100的数值就是CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBF85E2B91208EAD2A9E35F1CD6C5CC118F717E8952A07314ABA47CF3A0D5271001000000E0000000020074006C00000000000000000081300100000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF020000009A74CF05202020205350363236305F4D4F44454D5F30332E313231392E30355F424C303120323031322D4D61792D32322032303A34333A3536200A202020205044425F4E4F545F415641494C41424C45200A00000000000000000000000000000000000000000000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC8B34B71CC6C8F4E2D22113745FD9B5BA


我想提取:10--A0的数值就是CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBF85E2B91208EAD2A9E35F1CD6C5CC118F717E8952A07314ABA47CF3A0D5271001000000E0000000020074006C00000000000000000081300100000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF020000009A74CF05202020205350363236305F4D4F44454D5F30332E313231392E30355F424C303120323031322D4D61792D32322032303A34333A35

TOP

我希望结果是  截取nv_data.bin文件0010到1000之间的数值
shchaoge 发表于 2012-11-16 22:06



可否以 nv_data.bin 这个文件为例给出具体的结果?我理解不了你说的“数值”是什么意思。

TOP

我希望结果是  截取nv_data.bin文件0010到1000之间的数值

TOP

本帖最后由 tmplinshi 于 2012-11-16 08:01 编辑

回复 10# shchaoge


    这不是你想要的结果吗?不是的话,你希望的结果是什么?

    如果你要输出结果到文件,改成这样就好了:
xdw -b +0x10-0x1000 nv_data.bin | strings >o.txt

TOP

用这个代码:xdw -b +0x10-0x1000 nv_data.bin | strings  结果:

TOP

用这个代码:  xdw -b +0x10-0x1000 1.txt     结果批处理也就一闪而过

TOP

回复 7# shchaoge


    请贴一下你使用的代码和运行结果。

TOP

老大们  还是不行  我电脑是XP  能用吗

TOP

本帖最后由 tmplinshi 于 2012-11-13 12:52 编辑
各位老大  我试了3个办法都不行  我把文件发上去  您们帮我试试
shchaoge 发表于 2012-11-10 22:30



    能够截取。但因为有很多“非打印”字符,for 命令读取不了。可以用 sed 提取可打印字符:
  1. xdw -b +0x10-0x1000 nv_data.bin | sed "s/[^ -~]\+//g"
复制代码
或者用 strings:
  1. xdw -b +0x10-0x1000 nv_data.bin | strings
复制代码
strings.exe 下载地址: http://bathome.net/viewthread.php?tid=20102

TOP

各位老大  我试了3个办法都不行  我把文件发上去  您们帮我试试

TOP

返回列表