标题: [文本处理] [已解决]批处理怎样按顺序输出值? [打印本页]
作者: fenglin124 时间: 2011-5-25 11:51 标题: [已解决]批处理怎样按顺序输出值?
我要实现这样的功能:
我输入一个开始值start和一个数值n,然后输出这样的结果:
如start=150,n=6,则输出以下结果到txt文档里边,然后在行尾换行:
150 151 152 153 154 155
我是这样写的:- set /p start=
- set /p n=
- for /l %%i in (1 1 %%n)
- set sum=start+%%i
- echo sum>>c:\show.txt
复制代码
无法输出,请各位帮我看一下问题所在。谢谢
作者: wc726842270 时间: 2011-5-25 11:58
先不说别的,FOR语句中的DO消失了,
个人建议:重新理一下思路,不明白的看一下资料,再写一下(可惜我这儿不让干这些,悲剧)
作者: batman 时间: 2011-5-25 12:02
问题出在基础上。。。- @echo off
- set /p min=输入开始值:
- set /p add=输入数量:
- set /a max=min+add-1
- >show.txt (for /l %%a in (%min%,1,%max%) do echo %%a)
- start show.txt
复制代码
作者: Hello123World 时间: 2011-5-25 16:12
- @echo off
- setlocal enabledelayedexpansion
- set /p start=
- set /p n=
- for /l %%i in (1 1 %n%) do (set /a sum=!start!+%%i
- echo !sum!>>show.txt
- )
-
- pause>nul
复制代码
许多的语法错误,建议你先看看教材——我终于明白老师当年帮我们改代码时候的痛苦了,整个成了一编译器,就检查语法错误了。
作者: fenglin124 时间: 2011-5-25 16:26
本帖最后由 fenglin124 于 2011-5-25 16:32 编辑
如果我要做成读取文件的值然后按那个算法来输出,该怎么写:(注:文件中的每个值输出的数,写在一行上,下一个值输出的数写在第二行上),我的代码应该怎么改。:
@echo off
set /p add=输入数量:
set /a max=min+add-1
>show.txt for /f %%i in (test.txt) do echo (for /l %%a in (%%i,1,%%i+%add%-1) do echo %%a)
start show.txt
test.txt内容如下:
150
174
197
作者: fenglin124 时间: 2011-5-25 16:35
我要的输出结果是横的:150 151 152 153 154
217 218 219 220 221
是这种格式的
作者: CrLf 时间: 2011-5-25 16:43
- @echo off
- set /p min=输入开始值:
- set /p add=输入数量:
- set /a max=min+add-1
- ((for /l %%a in (%min%,1,%max%) do set /p=%%a )<nul
- echo;)>show.txt
- start show.txt
复制代码
作者: fenglin124 时间: 2011-5-25 16:52
恩,这个就是我想要的,不过,这个能不能读取文件中的值作为初始值呢。怎么实现
作者: Batcher 时间: 2011-5-25 23:52
5# fenglin124
请把所有的需求在顶楼一次性说清楚
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |