Board logo

标题: 如何依次提取字符串中的字符 [打印本页]

作者: 26933062     时间: 2006-12-27 16:42    标题: 如何依次提取字符串中的字符

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 ]
作者: redtek     时间: 2006-12-27 21:56
显示这26个变量~:)

  Quote:
@echo off


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


作者: ccwan     时间: 2006-12-27 21:59
好方法!
作者: zh159     时间: 2006-12-27 22:27
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”
作者: scriptor     时间: 2006-12-27 23:16

恩,调试了,很好啊

作者: scriptor     时间: 2006-12-27 23:18

! !
如何解释阿

作者: lxmxn     时间: 2006-12-27 23:22

  在本论坛搜索变量延迟。

作者: namejm     时间: 2006-12-28 00:26
  请看如下演示代码:
@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

作者: 26933062     时间: 2006-12-28 01:50
都太好了,谢谢大家.
作者: zhxy9804     时间: 2006-12-29 18:58
我服了,怎么管理员给管理员加分啊?
有这个必要吗?
作者: ccwan     时间: 2006-12-29 21:19
请问是那个管理员给那个管理员加分了?
作者: minmin888     时间: 2007-5-8 20:37
@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