标题: [文本处理] 批处理命令如何向二进制文件尾部追加一个字符? [打印本页]
作者: wqte45 时间: 2019-1-1 16:45 标题: 批处理命令如何向二进制文件尾部追加一个字符?
没有其他工具可用的情况下,怎么样能向一个二进制尾部追加一个00(hex)?复制代码
这样不行,追加普通字符有回车换行,而且好像还不完全支持ascii(0-31),
我现在这样用的:- copy con 0.txt
- ^@^Z
- type 0.txt >>test.bin
复制代码
这样可以,但有点繁琐,有其他简单的方法吗?
作者: ivor 时间: 2019-1-1 17:00
本帖最后由 ivor 于 2019-1-1 17:01 编辑
复制代码
作者: wqte45 时间: 2019-1-1 17:07
ivor 发表于 2019-1-1 17:00
不知道你测试过没有? 反正我的windows 7下是不行的
作者: ivor 时间: 2019-1-1 17:33
复制代码
作者: wqte45 时间: 2019-1-1 17:40
回复 4# ivor
还是一样,不能通过
作者: ivor 时间: 2019-1-1 17:46
操作系统:windows 7 professional x86 虚拟机
测试通过✔
你有什么错误提示吗?
作者: wqte45 时间: 2019-1-1 17:58
回复 6# ivor
我用winhex查看文件并未被修改,我怀疑,你是不是输入错字符了? ^@是一个字符 ascii(0), 用ctrl + @ 输入的,那个^Z也一样,都是一个字符
作者: wqte45 时间: 2019-1-1 18:00
回复 6# ivor
郁闷啊,上传个图片,不让显示。。。
我发文字吧
C:\Users\Administrator>set/p=^@^Z<nul>>test.bin
More?
C:\Users\Administrator>
作者: Batcher 时间: 2019-1-1 20:58
回复 7# wqte45
类似这种信息以后发帖求助的时候请在顶楼说清楚吧,否则别人很难猜到的
作者: wqte45 时间: 2019-1-1 21:15
本帖最后由 wqte45 于 2019-1-1 21:19 编辑
回复 9# Batcher
我感觉我说的很清楚了啊 说是追加一个字符。
而且我还上了代码, 第一行的 echo ^@ 这个很明显啊
大家都知道啊,cmd下输入有的ascii码,需要用ctrl按键或按alt + ascii数值, 比如响铃 ctrl + G 就会在控制台显示^G符号,但和手工输入一个^好一个G是不一样的
bbs上又没法显示这些字符, 我直接按照cmd上呈现的样子提问的
作者: Batcher 时间: 2019-1-1 21:25
回复 10# wqte45
挺好的,请继续坚持 ^_^
作者: zaqmlp 时间: 2019-1-1 23:02
- cmd /u /c echo;>0.txt
- findstr /vrc:$ 0.txt>>test.bin
复制代码
作者: zaqmlp 时间: 2019-1-1 23:18
- echo;00>0.txt
- certutil -decodehex 0.txt 0.bin
- copy /b test.bin+0.bin new_test.bin
复制代码
作者: wqte45 时间: 2019-1-2 00:03
本帖最后由 wqte45 于 2019-1-2 00:46 编辑
回复 13# zaqmlp
你的代码结果是对的, 但好像比我用的还要繁琐呢
那个certutil的-decodehex参数还是不错的,
就是这个参数解码16进制不支持0x或者\x前缀,必须用空格,
不过还是不错啦,感谢你回复我的问题。
要是能用 type con >>test.bin 或者
more >>test.bin 就好了,
可惜他们追加的信息最后都会有回车换行符号,
我再研究研究吧
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |