Board logo

标题: echo{ & >>samplefile 的语法问题 [打印本页]

作者: blkbatch     时间: 2007-10-27 19:29    标题: echo{ & >>samplefile 的语法问题

一个批处理文件中有这样的语句:
echo{                  & >>samplefile
echo      sample,   & >>samplefile
echo},                 & >>samplefile
我在windows xp的dos模式下输入上面的命令,总是提示有语法错误。我想它的原意是要  输出一个samplefile文件,文件内容为: {sample},。如果是这样的话每行中只需要用>>就可以了。如果用& >>则系统认为&后应该是另一个命令,而不应是>>, 这大概也是系统提示出错的原因。
      但这是个存档的文件,应该是验证过的。请问高手们在什么条件下上面的句子可能是正确的?
作者: junchen2     时间: 2007-10-27 19:39
^&
作者: blkbatch     时间: 2007-10-27 20:11    标题: re

可是存档的批处理文件中没有用^&啊。而且如果用echo sample  ^& >>samplefile的话,samplefile文件中的内容会是sample &.
作者: fastslz     时间: 2007-10-27 22:11
半天才看明白不就
echo  {sample,}>>samplefile
作者: blkbatch     时间: 2007-10-28 03:31
谢谢两位的答复。不过是不是因为我多写了几句反倒让大家误解了我的问题。
(输出内容为{sample,}的文件不一定是批处理文件的原意,只是我自己的想法)

我的问题是:
一个批处理文件中有这样的语句:
echo{                  & >>samplefile
echo      sample,   & >>samplefile
echo},                 & >>samplefile
在什么条件下上面的句子是正确的? 执行上述语句的结果是什么?
作者: fastslz     时间: 2007-10-28 12:29
任何情况下都不正确的!既然错误的语法就什么也没执行!
莫非你想简单复杂化?
@echo off
setlocal enabledelayedexpansion
set slz={sample}
cd.>samplefile
for /l %%i in (0,1,7) do set/p=!slz:~%%i,1!<nul>>samplefile