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

[文本处理] 批处理下如何创建一个简单的16进制文件

比如11.bin  内容如下:00 01 13  这样的16进制文件,以CMD下如何用系统自带的工具创建?
享受批处理的神奇!!!

  1. hex 11.bin
复制代码
hex.bat 1.01版:
http://www.bathome.net/thread-12688-1-2.html

TOP

可以通过ascmap函数获取http://bbs.bathome.net/thread-12347-1-1.html
  1. @echo off&setlocal enabledelayedexpansion
  2. chcp 437
  3. call ascmap $
  4. chcp 936
  5. cmd /u /c echo;>tmp
  6. (findstr/vrc:$ tmp
  7. set /p=!$:~0x3,1!!$:~0x11,1!)<nul>$
  8. del $>nul
  9. pause
复制代码

TOP

本帖最后由 plp626 于 2011-6-18 16:33 编辑

3# zm900612

ascmap函数(version 1.01.01.00精简版)自带0x00字符,楼上代码可以精简为(可读性强):
  1. @echo off&setlocal enabledelayedexpansion
  2. call ascmap $ 0x00.tmp
  3. set/p=!$:~0x03,1!!$:~0x13,1!<nul>11.bin
  4. copy /b 0x00.tmp+11.bin  11.bin
  5. del 0x00.tmp
  6. pause
复制代码
题外话,很感兴趣楼主要用批处理做这种二进制文件操作?

TOP

3# zm900612

ascmap函数(version 1.01.01.00精简版)自带0x00字符,楼上代码可以精简为(可读性强):@echo off&setlocal enabledelayedexpansion
call ascmap $ 0x00.tmp
set/p=!$:~0x03,1!!$:~0x13,1!11.b ...
plp626 发表于 2011-6-18 16:31


呵呵,主要是用于打印数据及格式的调整!

看了上面的算法,很不错,谢谢!
享受批处理的神奇!!!

TOP

既然会切换代码页
不如就用debug
可读性更强
  1. @goto Start
  2. E 100 00 01 13
  3. R CX
  4. 3
  5. W
  6. Q
  7. :Start
  8. @echo off
  9. chcp 437 & graftabl 936 & cls
  10. debug test.bin <%~sf0
复制代码
天的白色影子

TOP

既然会切换代码页
不如就用debug
可读性更强
@goto Start
E 100 00 01 13
R CX
3
W
Q

:Start
@echo off
chcp 437 & graftabl 936 & cls
debug test.bin
qzwqzw 发表于 2011-6-18 17:36



DEBUG还不怎么会用,这段代码我觉得很有意思,谢谢!
享受批处理的神奇!!!

TOP

返回列表