Board logo

标题: 求助按格式顺序输出文本的批处理 [打印本页]

作者: cnmini     时间: 2007-11-29 03:01    标题: 求助按格式顺序输出文本的批处理

格式是这样的:
<object name="1" num="1"  maxnum="1" kind="1" />
......
<object name="9" num="1"  maxnum="9" kind="1" />
<object name="1" num="1"  maxnum="1" kind="2" />
......
<object name="9" num="1"  maxnum="9" kind="2" />
......
......
<object name="100" num="1"  maxnum="100" kind="100" />

name值从1递加到9,num值不变,maxnum值从1递加到9 ,每一循环之后,kind值加1,直到算到100,然后把这些内容输出到文件。

希望各位哥哥姐姐们帮帮小弟……
作者: abcd     时间: 2007-11-29 07:34


  Quote:
@echo off
for /l %%i in (1,1,100) do (
  
for /l %%j in (1,1,9) do (
   
echo ^<object name="%%j" num="1"  maxnum="%%j" kind="%%i" /^>
   )
)
pause

??
作者: cnmini     时间: 2007-11-29 08:30
就是它,非常感谢
作者: cnmini     时间: 2007-11-30 01:23
还有问题,如果再换一下,我又实现不了了,像这样:
<object name="1" num="1"  maxnum="10" kind="1" id="1"/>
....
<object name="9" num="1"  maxnum="100" kind="1" id="1“/>
<object name="10" num="1"  maxnum="100" kind="1" id="2“/>
<object name="11" num="1"  maxnum="110" kind="2" id="2"/>
.....
name一直算到100,maxnum值每次加10,kind值每10次加1,id值每9次加1
新手……
作者: lxmxn     时间: 2007-11-30 12:43
多设置几个计数器就可以了。
@echo off & Setlocal EnableDelayedExpansion

set/a maxnum=10,kind=1,id=1
for /l %%a in (1,1,100) do (
    set name=%%a
    echo ^<object name="!name!" num="1"  maxnum="!maxnum!" kind="!kind!" id="!id!"/^>>>new.txt
    set /a maxnum+=10
    set /a kindtype=name%%10,idtype=name%%9
    if !kindtype! equ 0 set/a kind+=1
    if !idtype! equ 0 set /a id+=1
)
start notepad new.txt

作者: cnmini     时间: 2007-12-1 00:46
再继续下疑问,如果maxnum值每次加10,加到100后改成每次加5,加到200后加10,加到300后再改成加5,这样又怎样弄呢?