找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 71934|回复: 15

[文本处理] [已解决]如何用批处理实现循环添加指定数字?

[复制链接]
发表于 2011-7-26 20:29:28 | 显示全部楼层 |阅读模式
本帖最后由 xptool 于 2011-10-12 20:24 编辑

如何用批处理实现以下功能呢

先提示输入数字(少于16个数)

01 04 07 09 10 12 14

然后在每行数字后面 循环 加上:01  :04  :07 到:14
03 05 06 11 19 20
03 05 06 20 27 33
03 05 06 23 24 33
03 05 11 20 23 24
03 05 19 24 27 33
03 06 11 23 27 33
03 11 19 23 24 27
03 19 20 23 27 33
05 06 11 19 23 27
05 06 11 20 24 27
05 11 19 20 23 33
06 11 19 20 24 33
06 19 20 23 24 27
11 20 23 24 27 33

改成
03 05 06 11 19 20:01
03 05 06 20 27 33:04
03 05 06 23 24 33:07
03 05 11 20 23 24:09
03 05 19 24 27 33:10
03 06 11 23 27 33:12
03 11 19 23 24 27:14
03 19 20 23 27 33:01
05 06 11 19 23 27:04
05 06 11 20 24 27:07
05 11 19 20 23 33:09
06 11 19 20 24 33:10
06 19 20 23 24 27:12
11 20 23 24 27 33:14

先谢谢各位朋友了

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-7-26 20:59:20 | 显示全部楼层
本帖最后由 weichenxiehou 于 2011-7-26 21:04 编辑

  1. @echo off&setlocal enabledelayedexpansion
  2. :main
  3. cls
  4. set/p nums=Please input the numbers(not more than 16 nums) to be added,separated by spacebar:
  5. set /a n=0,m=0
  6. for %%i in (%nums%) do set #!n!=%%i&set/a n+=1
  7. if %n% gtr 15 goto :main
  8. (for /f "delims=" %%j in (test.txt) do (
  9.    set /a num=m%%n
  10.    for %%c in (!num!) do echo,%%j:!#%%c!
  11.    set /a m+=1
  12. ))>new.txt
复制代码
发表于 2011-7-26 21:34:55 | 显示全部楼层

  1. @echo off
  2. set /p var=输入数字:
  3. for /f "tokens=*" %%a in ("%var%") do for   %%i in (1 4 7 9 10 12 14) do echo %%a %%i
  4. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-7-26 22:06:56 | 显示全部楼层
  1. @echo off
  2. set /p ver=输入数字用空格分开:
  3. for %%i in (%ver%) do set /a n+=1&call set ver%%n%%=%%i
  4. for /f "delims=" %%i in (1.txt) do set/anu=nn%%n+1,nn+=1&call call echo %%i:%%%%ver%%nu%%%%%%
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2011-7-26 22:57:52 | 显示全部楼层
本帖最后由 tmplinshi 于 2011-7-26 23:00 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set file="1.txt"

  4. :input
  5. set /p input=输入数字(少于16个数):

  6. set list=
  7. set count=
  8. for %%a in (%input%) do (
  9.     set "list=!list!1%%a "
  10.     set /a count += 1
  11. )
  12. if %count% gtr 15 goto input

  13. (
  14.     for /f "usebackq delims=" %%a in (%file%) do (
  15.         set /a n = list
  16.         echo %%a:!n:~1!
  17.         set list=!list:* =!
  18.         if not defined list set list=%list%
  19.     )
  20. ) >..tmp

  21. move ..tmp %file%

  22. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-10-12 19:56:40 | 显示全部楼层
感谢各位帮助 谢谢各位兄弟
 楼主| 发表于 2011-10-12 19:59:01 | 显示全部楼层
@echo off&setlocal enabledelayedexpansion
:main
cls
set/p nums=Please input the numbers(not more than 16 nums) to be added,separated by spacebar:
set /a n=0,m=0
for %%i in (%nums%) do set #!n!=%%i&set/a n+=1
if %n% gtr 15 goto :main
(for /f "delims=" %%j in (test.txt) do (
   set /a num=m%%n
   for %%c in (!num!) do echo,%%j:!#%%c!
   set /a m+=1
))>new.txt

评分

参与人数 1PB -2 收起 理由
CrLf -2 请把超过一行的代码用 code 括起来

查看全部评分

发表于 2011-10-13 16:37:58 | 显示全部楼层
回复 2# weichenxiehou


    大哥这个我试了下不行,还有一些不明天,能否给解释下。想这种经常遇到的问题很想把它看懂然后弄会它
发表于 2011-10-13 16:54:20 | 显示全部楼层
回复 3# cjiabing

cjiabing
这个试了也达不到楼主想要的结果。请你再调下
发表于 2011-10-13 17:05:09 | 显示全部楼层
本帖最后由 zaixinxiangnian 于 2011-10-13 17:11 编辑

回复 4# pgfj18


    请教下这位前辈:这种set用法实在看不懂,能否给解释下.特别是set ver%%n%%=%%i和set/anu=nn%%n+1,nn+=1
  1. (set /a n+=1&call set ver%%n%%=%%i)
复制代码
  1. (set/anu=nn%%n+1,nn+=1&call call echo %%i:%%%%ver%%nu%%%%%%)
复制代码
发表于 2011-10-13 17:36:26 | 显示全部楼层
回复 9# zaixinxiangnian


    老大,不要自己改了题目就来说人家的不对。
发表于 2011-10-13 19:56:47 | 显示全部楼层
回复 8# zaixinxiangnian
就是啊,怎么题目都改了??这不糊弄人吗?我还以为我代码贴错了呢……
发表于 2011-10-14 16:45:59 | 显示全部楼层
回复 11# cjiabing


    不关我事啊,,,我又不是楼主,我只想楼主想要什么结果,然后自己想不出就去研究你们是怎么写的。因为我也想知道怎么解决对吧 试了不行就给你说喽
发表于 2011-10-14 16:47:12 | 显示全部楼层
回复 12# weichenxiehou


   
    不关我事啊,,,我又不是楼主,
四楼那个可以,你能给解释下吗?
发表于 2011-10-18 00:03:29 | 显示全部楼层
回复 13# zaixinxiangnian


    SORRY,看错了。那你看其他题吧,可能有些我理解错题目了,或者我没试过就发上来,看来下次不能这样了。有空再改吧,最近忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:12 , Processed in 0.039924 second(s), 15 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表