Board logo

标题: [文本处理] [已解决]批处理怎样从文件读取值并按指定算法输出指定格式? [打印本页]

作者: fenglin124    时间: 2011-5-25 17:08     标题: [已解决]批处理怎样从文件读取值并按指定算法输出指定格式?

我的指定文件是test.txt,内容是:
1
11
21
31
41

我想实现以个批处理,手动输入计数器为n后(比如n=10),自动生成下面这样的文本:
1  2  3  4  5  6  7  8  9  10
11  12  13  14  15  16  17  18  19  20
21  22  23  24  25  26  27  28  29  30
31  32  33  34  35  36  37  38  39  40
41  42  43  44  45  46  47  48  49  50
作者: batman    时间: 2011-5-25 17:14

本帖最后由 batman 于 2011-5-25 17:28 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p num=请输入:
  3. (for /f %%a in (test.txt) do (
  4.      set /a max=%%a+num-1
  5.      for /l %%b in (%%a,1,!max!) do set /p=%%b <nul
  6.      echo,
  7. ))>new.txt
  8. start new.txt
复制代码

作者: CrLf    时间: 2011-5-25 17:15

本帖最后由 zm900612 于 2011-5-25 17:18 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p n=数量
  3. (for /f %%a in (test.txt) do (
  4.    set /a max=%%a+n-1
  5.    for /l %%b in (%%a 1 !max!) do set /p=%%b
  6.    echo;
  7. ))>结果.txt
  8. pause
复制代码

作者: batman    时间: 2011-5-25 17:16

本帖最后由 batman 于 2011-5-25 17:28 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p num=请输入:
  3. (for /f %%a in (test.txt) do (
  4.      set /a max=%%a+num-1
  5.      for /l %%b in (%%a,1,!max!) do set "str=!str! %%b"
  6.      echo !str:~1!&set "str="
  7. ))>new.txt
  8. start new.txt
复制代码

作者: fenglin124    时间: 2011-5-25 17:21

多谢帮忙,但是以上两种代码都不能正确实现我说的么,恳请帮忙看一下。
作者: batman    时间: 2011-5-25 17:24

自己在前面加个set /p语句后面将9改为变量不会?楼主不会是伸手党吧?
作者: fenglin124    时间: 2011-5-25 17:30

好的,多谢了,问题已解决。
作者: CrLf    时间: 2011-5-25 17:34

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p n=数量
  3. (for /f %%a in (test.txt) do (
  4.    set /a max=%%a+n-1
  5.    for /l %%b in (%%a 1 !max!) do set /p=%%b
  6.    echo;
  7. ))<nul>结果.txt
  8. pause
复制代码
笔误已修改




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2