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


  Quote:
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


  Quote:
Originally posted by beeny at 2008-3-24 09:55 PM:
五楼没有输出空行

因为最后掉了一个 echo 命令,所以没有输出空格。