[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样按顺序输出值?

我要实现这样的功能:
我输入一个开始值start和一个数值n,然后输出这样的结果:
如start=150,n=6,则输出以下结果到txt文档里边,然后在行尾换行:
150 151 152 153 154 155

我是这样写的:
  1. set /p start=
  2. set /p n=
  3. for /l %%i in (1 1 %%n)
  4. set sum=start+%%i
  5. echo sum>>c:\show.txt
复制代码
无法输出,请各位帮我看一下问题所在。谢谢
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

5# fenglin124


请把所有的需求在顶楼一次性说清楚
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

恩,这个就是我想要的,不过,这个能不能读取文件中的值作为初始值呢。怎么实现

TOP

  1. @echo off
  2. set /p min=输入开始值:
  3. set /p add=输入数量:
  4. set /a max=min+add-1
  5. ((for /l %%a in (%min%,1,%max%) do set /p=%%a )<nul
  6. echo;)>show.txt
  7. start show.txt
复制代码

TOP

我要的输出结果是横的:150  151  152  153   154
                                 217  218  219  220   221
是这种格式的

TOP

本帖最后由 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

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p start=
  4. set /p n=
  5. for /l %%i in (1 1 %n%) do (set /a sum=!start!+%%i
  6. echo !sum!>>show.txt
  7. )
  8. pause>nul
复制代码
许多的语法错误,建议你先看看教材——我终于明白老师当年帮我们改代码时候的痛苦了,整个成了一编译器,就检查语法错误了。

TOP

问题出在基础上。。。
  1. @echo off
  2. set /p min=输入开始值:
  3. set /p add=输入数量:
  4. set /a max=min+add-1
  5. >show.txt (for /l %%a in (%min%,1,%max%) do echo %%a)
  6. start show.txt
复制代码
***共同提高***

TOP

先不说别的,FOR语句中的DO消失了,
个人建议:重新理一下思路,不明白的看一下资料,再写一下(可惜我这儿不让干这些,悲剧)
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表