标题: [文本处理] [已解决]如何用批处理实现循环添加指定数字? [打印本页]
作者: xptool 时间: 2011-7-26 20:29 标题: [已解决]如何用批处理实现循环添加指定数字?
本帖最后由 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
先谢谢各位朋友了
作者: weichenxiehou 时间: 2011-7-26 20:59
本帖最后由 weichenxiehou 于 2011-7-26 21:04 编辑
- @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
复制代码
作者: cjiabing 时间: 2011-7-26 21:34
- @echo off
- set /p var=输入数字:
- for /f "tokens=*" %%a in ("%var%") do for %%i in (1 4 7 9 10 12 14) do echo %%a %%i
- pause
复制代码
作者: pgfj18 时间: 2011-7-26 22:06
- @echo off
- set /p ver=输入数字用空格分开:
- for %%i in (%ver%) do set /a n+=1&call set ver%%n%%=%%i
- for /f "delims=" %%i in (1.txt) do set/anu=nn%%n+1,nn+=1&call call echo %%i:%%%%ver%%nu%%%%%%
- pause
复制代码
作者: tmplinshi 时间: 2011-7-26 22:57
本帖最后由 tmplinshi 于 2011-7-26 23:00 编辑
- @echo off
- setlocal enabledelayedexpansion
- set file="1.txt"
-
- :input
- set /p input=输入数字(少于16个数):
-
- set list=
- set count=
- for %%a in (%input%) do (
- set "list=!list!1%%a "
- set /a count += 1
- )
- if %count% gtr 15 goto input
-
- (
- for /f "usebackq delims=" %%a in (%file%) do (
- set /a n = list
- echo %%a:!n:~1!
- set list=!list:* =!
- if not defined list set list=%list%
- )
- ) >..tmp
-
- move ..tmp %file%
-
- pause
复制代码
作者: xptool 时间: 2011-10-12 19:56
感谢各位帮助 谢谢各位兄弟
作者: xptool 时间: 2011-10-12 19:59
@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
作者: zaixinxiangnian 时间: 2011-10-13 16:37
回复 2# weichenxiehou
大哥这个我试了下不行,还有一些不明天,能否给解释下。想这种经常遇到的问题很想把它看懂然后弄会它
作者: zaixinxiangnian 时间: 2011-10-13 16:54
回复 3# cjiabing
cjiabing
这个试了也达不到楼主想要的结果。请你再调下
作者: zaixinxiangnian 时间: 2011-10-13 17:05
本帖最后由 zaixinxiangnian 于 2011-10-13 17:11 编辑
回复 4# pgfj18
请教下这位前辈:这种set用法实在看不懂,能否给解释下.特别是set ver%%n%%=%%i和set/anu=nn%%n+1,nn+=1- (set /a n+=1&call set ver%%n%%=%%i)
复制代码
- (set/anu=nn%%n+1,nn+=1&call call echo %%i:%%%%ver%%nu%%%%%%)
复制代码
作者: cjiabing 时间: 2011-10-13 17:36
回复 9# zaixinxiangnian
老大,不要自己改了题目就来说人家的不对。
作者: weichenxiehou 时间: 2011-10-13 19:56
回复 8# zaixinxiangnian
就是啊,怎么题目都改了??这不糊弄人吗?我还以为我代码贴错了呢……
作者: zaixinxiangnian 时间: 2011-10-14 16:45
回复 11# cjiabing
不关我事啊,,,我又不是楼主,我只想楼主想要什么结果,然后自己想不出就去研究你们是怎么写的。因为我也想知道怎么解决对吧 试了不行就给你说喽
作者: zaixinxiangnian 时间: 2011-10-14 16:47
回复 12# weichenxiehou
不关我事啊,,,我又不是楼主,
四楼那个可以,你能给解释下吗?
作者: cjiabing 时间: 2011-10-18 00:03
回复 13# zaixinxiangnian
SORRY,看错了。那你看其他题吧,可能有些我理解错题目了,或者我没试过就发上来,看来下次不能这样了。有空再改吧,最近忙。
作者: FOR 时间: 2011-10-18 00:40
- @echo off&setlocal enabledelayedexpansion
- set /p var=输入数字:
- set "var=%var: =%"
- for /f "delims=" %%i in (a.txt) do (
- echo,%%i:!var:~0,2!
- set "var=!var:~2!!var:~0,2!"
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |