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

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

我的指定文件是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
1

评分人数

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

本帖最后由 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
复制代码
***共同提高***

TOP

本帖最后由 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
复制代码

TOP

本帖最后由 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
复制代码
***共同提高***

TOP

多谢帮忙,但是以上两种代码都不能正确实现我说的么,恳请帮忙看一下。

TOP

自己在前面加个set /p语句后面将9改为变量不会?楼主不会是伸手党吧?
***共同提高***

TOP

好的,多谢了,问题已解决。

TOP

  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
复制代码
笔误已修改

TOP

返回列表