Board logo

标题: [求助]批处理中写文件时能否输出空行? [打印本页]

作者: beeny     时间: 2008-3-24 12:55    标题: [求助]批处理中写文件时能否输出空行?
for /l %%i in (1,1,99) do ( if %%i%2==0 echo.>>2.txt else echo %%i>>2.txt ) 我想老鸟看到上面代码就知道我要干什么? 不过说说我的想法:输出1到99的所有奇数,如果是偶数就输出一个空行! 要批处理不要VBS谢了! 忘了说了上面的代码有问题!

作者: wxcute     时间: 2008-3-24 14:15
@echo off
setlocal enableDelayedExpansion
for /l %%i in (1,1,99) do (
set/a b=%%i%%2
    if !b!==0 (echo.>>2.txt) else (echo %%i>>2.txt)
)
pause
echo.改成echo+也可以。 [ Last edited by wxcute on 2008-3-24 at 02:17 PM ]

作者: ansipeter     时间: 2008-3-24 14:56
在CMD下直接运行下面代码:
for /l %? in (1,2,99) do echo>>2.txt %?&echo.>>2.txt

作者: metoo     时间: 2008-3-24 19:52
for /l %? in (1,2,99) do echo>>2.txt %?>>2.txt
这样也能得出结果。。。。但我还没完全理解运行的机制- - 本来只是看到楼上的那个通配感觉经典瞎试的

作者: HAT     时间: 2008-3-24 20:48
Originally posted by metoo at 2008-3-24 07:52 PM:
for /l %? in (1,2,99) do echo>>2.txt %?>>2.txt
这样也能得出结果。。。。但我还没完全理解运行的机制- - 本来只是看到楼上的那个通配感觉经典瞎试的
for循环的控制变量每次加2,很简单的机制啊:)

作者: metoo     时间: 2008-3-24 21:47
echo>>2.txt %?>>2.txt
这段有点迷糊 - -

作者: beeny     时间: 2008-3-24 21:55
五楼没有输出空行

作者: ThinKing     时间: 2008-3-25 07:01
Originally posted by beeny at 2008-3-24 09:55 PM: 五楼没有输出空行
因为最后掉了一个 echo 命令,所以没有输出空格。