中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 00:07
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 用Echo命令能不能创建二进制文件?
楼 主 用Echo命令能不能创建二进制文件? 发表于 2005-06-06 00:00 ·  中国 黑龙江 哈尔滨 中移铁通
初级用户
积分 108
发帖 2
注册 2005-06-06 00:00
UID 39364
性别 男
状态 离线
我们知道用Echo命令可以创建文本文件,能不能利用这个命令创建二进制文件,也就是任意文件,而不限制为纯文本文件。请指教,谢谢!
2 发表于 2005-06-06 00:00 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re quicker:  echo无法直接创建二进制文件,不过可以先用它创建DEBUG脚本,然后用DEBUG生成二进制文件。例如:
@echo off
echo e100 07 07 07 >beep.asd
echo nbeep.bin>>beep.asd
echo rcx>>beep.asd
echo 3 >>beep.asd
echo w>>beep.asd
echo q>>beep.asd
:: 创建debug脚本
debug < beep.asd > nul
:: 生成二进制文件
type beep.bin
del beep.asd
del beep.bin
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
3 发表于 2005-06-06 00:00 ·  中国 广东 广州 教育网
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
UID 15812
性别 男
来自 广东广州
状态 离线
回楼主:
不能直接用ECHO来创建。
因为二进制文件除了文本字符外,还有许多控制字符和图形字符,这些字符在输入时很麻烦,特别是0~31号的ASCII字符简直无法手动输入。而且,以命令行输入ECHO命令又有字符数的限制(好像不超过256个字符)。假如echo命令可以输出二进制文件,那么该文件的大小也有限制。如果楼主认为用“>>”可以继续添加内容,我想还是不行,仍存在一个问题:
ECHO命令无论用“>”“>>”作结尾,在输出字符(串)到一个文件后,都会自动在字符(串)的末端添加换行符。一旦有换行符,输出的文件就不能称为二进制文件了,因为换行符是文本文件的特征,那些exe、com、dll、ocx以及其它诸如图形文件、音频视频文件等二进制都没有换行符的。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
4 发表于 2005-06-08 00:00 ·  中国 黑龙江 哈尔滨 中移铁通
初级用户
积分 108
发帖 2
注册 2005-06-06 00:00
UID 39364
性别 男
状态 离线
谢谢willsort和JonePeng的指教,我明白了。
我非常想在DOS下生成二进制文件,这非常有趣。如果不用debug,也不用什么编程工具,仅用DOS命令,能实现吗?
这里有一个思路:在Windows下点鼠标右键,指向新建,再点Winzip文件,就可以创建一个Winzip文件,不是0字节的。我在注册表中找到了这个文件二进制内容的键值,看来WIndows在创建Winzip文件时是把这个键值的数据写到了该zip文件中的。我想问的是,能不能用DOS命令来模拟这个过程,也创建一个Winzip文件,当然是用Windows下的DOS来模拟,内部外部命令都行。如果有其它方法也行。
也不知道能不能实现,请大家帮助,谢谢!
论坛跳转: