中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何依次提取字符串中的字符
作者:
标题: 如何依次提取字符串中的字符 上一主题 | 下一主题
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『楼 主』:  如何依次提取字符串中的字符

set nnn=abcdefghijklmnopurstyvwxyz
问题1,如何依次显示这26个变量?
问题2,其实我本意是建立一批处理,运行后就新建一个文档,命名为a.txt再一次运行就建立b.txt.......c.txt.......d.txt...............
能否将这两个问题分开解答,谢了
.


[ Last edited by namejm on 2007-2-3 at 01:28 PM ]

2006-12-27 16:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 2 楼』:  

显示这26个变量~:)

  Quote:
@echo off


set "nnn=abcdefghijklmnopurstyvwxyz"
for /L %%. in (0,1,25) do ( Call echo %%nnn:~%%.,1%% )



   此帖被 +7 点积分      点击查看详情   
评分人:【 ccwan 分数: +5  时间:2006-12-27 21:59
评分人:【 26933062 分数: +2  时间:2006-12-28 01:49




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-27 21:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 3 楼』:  

好方法!



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-27 21:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 4 楼』:  

2
@echo off
setlocal EnableDelayedExpansion
set "nnn=abcdefghijklmnopurstyvwxyz"
for /L %%. in (0,1,25) do (
  set svr=!nnn:~%%.,1!
  if not exist "!svr!.txt" cd.>!svr!.txt&&pause
)
想要建立后退出,把“pause”改为“exit”

   此帖被 +7 点积分      点击查看详情   
评分人:【 redtek 分数: +5  时间:2006-12-27 22:30
评分人:【 26933062 分数: +2  时间:2006-12-28 01:49


2006-12-27 22:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 5 楼』:  


恩,调试了,很好啊


2006-12-27 23:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 6 楼』:  


! !
如何解释阿


2006-12-27 23:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  


  在本论坛搜索变量延迟。


2006-12-27 23:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 8 楼』:  

  请看如下演示代码:
@echo off
:begin
cls
set "str=abcdefghijklmnopurstyvwxyz"
if not exist num.txt (echo 1)>num.txt&goto pick-up
for /f %%i in (num.txt) do set num=%%i

:pick-up
call set "str=%%str:~%num%,1%%"
set /a num+=1
echo "%str%"
if %num% equ 26 set num=0
(echo %num%)>num.txt
pause
goto begin


   此帖被 +7 点积分      点击查看详情   
评分人:【 redtek 分数: +5  时间:2006-12-28 00:51
评分人:【 26933062 分数: +2  时间:2006-12-28 01:50




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-12-28 00:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 9 楼』:  

都太好了,谢谢大家.

2006-12-28 01:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhxy9804
中级用户





积分 208
发帖 97
注册 2006-12-28
状态 离线
『第 10 楼』:  

我服了,怎么管理员给管理员加分啊?
有这个必要吗?

2006-12-29 18:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 11 楼』:  

请问是那个管理员给那个管理员加分了?



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-29 21:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
minmin888
初级用户





积分 127
发帖 62
注册 2007-4-19
状态 离线
『第 12 楼』:  

@echo off
setlocal enabledelayedexpansion

set num=0
set "str=abcdefghijklmnopurstyvwxyz"

:loop

echo !str:~%num%,1!
set /a num+=1
ping -n 1 127.1>nul

if %num% equ 26  goto :eof

goto loop

2007-5-8 20:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: