@echo off & setlocal EnableDelayedExpansion
set tp=avi wma mp3
for %%i in (%tp%) do (
set /a n+=1
for /f "tokens=!n! delims= " %%j in ("%tp%") do (
echo %%j
)
)
pause
***
已经找到了答案,可以在第一个for中用call调用第二个for
[ Last edited by xuleicz on 2009-2-7 at 12:09 ]作者: heheguai 时间: 2009-2-7 00:06 对于这么短的字符为啥一定要用for呢,直接用字符截取快的多啊!
set tp=avi wma mp3
%tp:~0,3%作者: netbenton 时间: 2009-2-7 00:57 这样更灵活一点:
set tp1=avi
set tp2=wma
set tp3=mp3
set /p n=输入[1,2,3]
call :sub %n%
goto :eof
:sub
echo %tp%1%
goto :eof
或者开始变量延迟后这样用:
set tp1=avi
set tp2=wma
set tp3=mp3
set /p n=输入[1,2,3]
echo !tp%n%!作者: xuleicz 时间: 2009-2-7 09:26 3¥�ĵڶ����������Ǹ��÷�������ʵ����Ҫ������Ч����
(Ϊ�˱��ڱ����tp[i]��ʾtp�еĵ�i��)
�������ַ�������ʵ�ܳ�����
tp=avi wmv mp3
ass=avifile wmvmedia mp3file
���������
com1 com2
Ŀ�꣺ִ��com1 tp[i]ʱͬʱִ��com2 ass[i]
�ǵ���Ƕ��ѭ��
setlocal EnableDelayedExpansion
tp=avi wmv mp3
ass=avifile wmvmedia mp3music
for %%i in (%tp%) do (
set /a n+=1
for /f "tokens=!n! delims= " %%a in ("%tp%") do com1 %%a
for /f "tokens=!n! delims= " %%b in ("%tp%") do com2 %%b
)