![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 00:55 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » [求助]在批处理中用Echo创建文件和写入文本的问题? |
| 可打印版本 1,874 / 7 |
| 第1楼 hzy | 发表于 2003-07-31 00:00 |
| 高级用户 发帖 135 积分 578 | |
|
[求助]在批处理中用Echo创建文件和写入文本的问题? 在批处理中,想在D:\下创建一个test.bat,内容为:set aaa=bbb
于是: ................ echo set aaa= >d:\test.bat echo bbb >>d:\test.bat 但执行上面语句得到的结果d:\test.bat的内容却为: set aaa= bbb 而不是: set aaa=bbb 请问如何能让上面两行命令输出到d:\test.bat上的字符串在同一行上? |
|
| 第2楼 电吉入侵 | 发表于 2003-08-01 00:00 |
| 初级用户 发帖 377 积分 1,480 | |
|
其实你自己都会了嘛....
echo set aaa=bbb>d:\test.bat不就行了 |
|
| 第3楼 hzy | 发表于 2003-08-01 00:00 |
| 高级用户 发帖 135 积分 578 | |
|
上面的例子只是打个比方!
我想知道的是:如何让两次用ECHO命令输出的内容打印到test.bat里面的同一行上! |
|
| 第4楼 lin1 | 发表于 2003-08-02 00:00 |
| 初级用户 发帖 29 积分 183 | |
|
你那种想法是不可行的,ECHO是绝对换行显示!
|
|
| 第5楼 LanE | 发表于 2003-08-02 00:00 |
| 银牌会员 发帖 648 积分 1,835 | |
|
DOS下的ECHO命令太弱了,不过瘾啊
|
|
| 第6楼 Wengier | 发表于 2003-08-02 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
以下是引用LanE在2003-8-2 10:54:28的发言: 那GNUish的DOS命令(如PRINTF等)也不错呢。。 |
|
| 第7楼 willsort | 发表于 2003-09-29 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re hzy:
让他们输出在同一行的方法有三种思路: 1、想办法不输出回车符: 用echo肯定是不行了,可以试试斑竹所说的GNUish命令,我自己使用的是oecho.exe,这些如果你都找不到,干脆自己直接用C或汇编写一个,反正也很简单。另外,用debug也可以写出来。如果你对这些方法都看不惯,那么可以试试以下的思路。 2、就用echo输出,然后把回车符想办法删掉: 这个很有技巧性,我至今只见到使用debug将文件长度减少两个字节后重新保存,不过这需要预知源文件的长度,应用有些局限性。另外,一些支持管道操作的编辑软件(如dos5下的edlin)或者二进制串替换软件(如undisk软件包中的hexc)也可以做到这一点。 echo r cx >delfeed.scr echo 源文件长度减2,再换算为16进制 >> delfeed.scr echo n sample2.tx>>delfeed.scr echo s >> delfeed.scr debug sample1.txt < delfeed.scr hexc sample1.txt sample2.txt 0d0a "" 3、直接预制所需文件,不用临时输出,这种方法适用于sample1.txt内容固定时,用编辑程序预先编辑所需要的不带回车符的头文件没有什么大的困难。 |
|
| 第8楼 SHOCIAA | 发表于 2003-10-01 00:00 |
| 中级用户 发帖 41 积分 228 | |
以下是引用willsort在2003-9-29 3:20:20的发言: 还是看不懂 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |