中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 用Echo命令能不能创建二进制文件?
作者:
标题: 用Echo命令能不能创建二进制文件? 上一主题 | 下一主题
quicker
初级用户




积分 108
发帖 2
注册 2005-6-6
状态 离线
『楼 主』:  用Echo命令能不能创建二进制文件?

我们知道用Echo命令可以创建文本文件,能不能利用这个命令创建二进制文件,也就是任意文件,而不限制为纯文本文件。请指教,谢谢!

2005-6-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 2 楼』:  

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:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-6-6 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 3 楼』:  

回楼主:
不能直接用ECHO来创建。
因为二进制文件除了文本字符外,还有许多控制字符和图形字符,这些字符在输入时很麻烦,特别是0~31号的ASCII字符简直无法手动输入。而且,以命令行输入ECHO命令又有字符数的限制(好像不超过256个字符)。假如echo命令可以输出二进制文件,那么该文件的大小也有限制。如果楼主认为用“>>”可以继续添加内容,我想还是不行,仍存在一个问题:
ECHO命令无论用“>”“>>”作结尾,在输出字符(串)到一个文件后,都会自动在字符(串)的末端添加换行符。一旦有换行符,输出的文件就不能称为二进制文件了,因为换行符是文本文件的特征,那些exe、com、dll、ocx以及其它诸如图形文件、音频视频文件等二进制都没有换行符的。

[此贴子已经被作者于2005-6-6 20:10:32编辑过]






----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-6-6 00:00
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
quicker
初级用户




积分 108
发帖 2
注册 2005-6-6
状态 离线
『第 4 楼』:  

谢谢willsort和JonePeng的指教,我明白了。
我非常想在DOS下生成二进制文件,这非常有趣。如果不用debug,也不用什么编程工具,仅用DOS命令,能实现吗?
这里有一个思路:在Windows下点鼠标右键,指向新建,再点Winzip文件,就可以创建一个Winzip文件,不是0字节的。我在注册表中找到了这个文件二进制内容的键值,看来WIndows在创建Winzip文件时是把这个键值的数据写到了该zip文件中的。我想问的是,能不能用DOS命令来模拟这个过程,也创建一个Winzip文件,当然是用Windows下的DOS来模拟,内部外部命令都行。如果有其它方法也行。
也不知道能不能实现,请大家帮助,谢谢!

[此贴子已经被作者于2005-6-8 18:44:20编辑过]




2005-6-8 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: