找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24998|回复: 4

[文件操作] 二进制文件处理

[复制链接]
发表于 2013-5-25 13:08:20 | 显示全部楼层 |阅读模式
有一个二进制文件,现在需要做2种处理:
1)读出该文件第100~768字节范围的数据,并保存到另外一个新建的二进制文件里面
2)根据需要更新该文件末尾1KB数据(使用代码里面设定数据或者另外一个二进制文件)
以上都是二进制操作,如果用C库函数实现是非常容易的,求示例批处理代码
发表于 2013-5-25 17:55:35 | 显示全部楼层
用 debug 的话,不支持大于 64K 的文件:
  1. @echo off
  2. if not exist \\?\%1 echo 无文件&pause&exit
  3. @echo m 164 l29c 100^&echo rcx^&echo 29c^&echo n 1.txt^&echo w^&echo q|debug %~s1

  4. for %%a in (%1) do set /a z=%%~za-1024+0x100
  5. if %z% lss 0 echo 文件太小&pause&exit
  6. if %z% gtr 0xffff echo 文件太大&pause&exit

  7. cmd /c exit/b %z%
  8. @echo m %=exitcode:~4% l400 100^&echo rcx^&echo 400^&echo n 2.txt^&echo w^&echo q|debug %~s1
复制代码
发表于 2013-5-25 20:29:37 | 显示全部楼层
第1)条 可不用M而使用W时指定起始地址,BX归零可支持到560K左右的文件
(ECHO,NC.TXT&ECHO,RBX&ECHO,0&ECHO,RCX&ECHO,29D&ECHO,WCS:164&ECHO,Q)|DEBUG %~S1

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 忘了w可带参数,好办法

查看全部评分

发表于 2013-5-26 00:26:51 | 显示全部楼层
用vbs可能更方便
 楼主| 发表于 2013-5-26 08:53:03 | 显示全部楼层
回复 2# CrLf


    看上去DEBUG的功能还蛮强大的,可是我的64bit Win7下面没有这个App,我在我的MS-DOS7.1启动U盘里面倒是看到了一个8086年代的DEBUG.EXE,但是64bit Win7是不支持16bit App因为取消了V8086 mode。能否告诉我怎么安装一个DEBUG.exe?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 06:22 , Processed in 0.017479 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表