|
hzy
高级用户
   
积分 578
发帖 135
注册 2003-7-10
状态 离线
|
『楼 主』:
[求助]在批处理中用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上的字符串在同一行上?
|
|
2003-7-31 00:00 |
|
|
电吉入侵
初级用户
 
积分 1480
发帖 377
注册 2003-6-6
状态 离线
|
『第
2 楼』:
其实你自己都会了嘛....
echo set aaa=bbb>d:\test.bat不就行了
|

欢迎大家访问我的主页!
精品.爱好http://iso.533.net |
|
2003-8-1 00:00 |
|
|
hzy
高级用户
   
积分 578
发帖 135
注册 2003-7-10
状态 离线
|
『第
3 楼』:
上面的例子只是打个比方!
我想知道的是:如何让两次用ECHO命令输出的内容打印到test.bat里面的同一行上!
|
|
2003-8-1 00:00 |
|
|
lin1
初级用户
 
积分 183
发帖 29
注册 2003-6-22
状态 离线
|
『第
4 楼』:
你那种想法是不可行的,ECHO是绝对换行显示!
|
|
2003-8-2 00:00 |
|
|
LanE
银牌会员
    
积分 1833
发帖 648
注册 2002-11-8
状态 离线
|
『第
5 楼』:
DOS下的ECHO命令太弱了,不过瘾啊
|
|
2003-8-2 00:00 |
|
|
Wengier
系统支持
             “新DOS时代”站长
积分 27736
发帖 10521
注册 2002-10-9
状态 离线
|
『第
6 楼』:
以下是引用LanE在2003-8-2 10:54:28的发言:
DOS下的ECHO命令太弱了,不过瘾啊 那GNUish的DOS命令(如PRINTF等)也不错呢。。
|

Wengier - 新DOS时代
欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
wendos.mycool.net/
E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
 |
|
2003-8-2 00:00 |
|
|
willsort
元老会员
         Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
7 楼』:
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内容固定时,用编辑程序预先编辑所需要的不带回车符的头文件没有什么大的困难。
|

|
|
2003-9-29 00:00 |
|
|
SHOCIAA
中级用户
   SHOCI@@
积分 228
发帖 41
注册 2003-10-1
状态 离线
|
『第
8 楼』:
以下是引用willsort在2003-9-29 3:20:20的发言:
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内容固定时,用编辑程序预先编辑所需要的不带回车符的头文件没有什么大的困难。 还是看不懂
|

≡≡☆⌒_⌒☆≡■◆■≡☆⌒_⌒☆≡≡
(の)゛在﹍這個...ロ丗界里ヤ
(の) ╱︶ 誰對o..﹎οО誰錯┈?
ìòvè ╭☆
╭~~~★ ╭ ︶╮
╱︶(o'.'o)︶╲ ╱︶(-'.'-)︶╲ |
|
2003-10-1 00:00 |
|