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

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

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

先谢谢各位朋友了
1

评分人数

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

本帖最后由 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
复制代码
看得多说得多,远比不上写得多。

TOP

  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

评分人数

    • CrLf: 乐于助人技术 + 1
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  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

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

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

评分人数

    • CrLf: 乐于助人技术 + 1

TOP

感谢各位帮助 谢谢各位兄弟

TOP

@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
1

评分人数

    • CrLf: 请把超过一行的代码用 code 括起来PB -2

TOP

回复 2# weichenxiehou


    大哥这个我试了下不行,还有一些不明天,能否给解释下。想这种经常遇到的问题很想把它看懂然后弄会它

TOP

回复 3# cjiabing

cjiabing
这个试了也达不到楼主想要的结果。请你再调下

TOP

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

TOP

回复 9# zaixinxiangnian


    老大,不要自己改了题目就来说人家的不对。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 8# zaixinxiangnian
就是啊,怎么题目都改了??这不糊弄人吗?我还以为我代码贴错了呢……
看得多说得多,远比不上写得多。

TOP

回复 11# cjiabing


    不关我事啊,,,我又不是楼主,我只想楼主想要什么结果,然后自己想不出就去研究你们是怎么写的。因为我也想知道怎么解决对吧 试了不行就给你说喽

TOP

回复 12# weichenxiehou


   
    不关我事啊,,,我又不是楼主,
四楼那个可以,你能给解释下吗?

TOP

回复 13# zaixinxiangnian


    SORRY,看错了。那你看其他题吧,可能有些我理解错题目了,或者我没试过就发上来,看来下次不能这样了。有空再改吧,最近忙。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

返回列表