无忧启动论坛
标题:
当for循环中的%%a为变量名时,如何获取其值?
[打印本页]
作者:
0428_hai
时间:
2011-4-25 20:04
标题:
当for循环中的%%a为变量名时,如何获取其值?
for /f %%a in (a.txt) do (
::a.txt文本中的内容为变量名,想在这儿引用这个变量,如何写代码?
::echo %%%a%,这样写不对。
)
主题帖内容更新如下:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
::------------以下代码生成测试用的文本文件test.txt-------
>test.txt echo my
>>test.txt echo name
>>test.txt echo is jack
>>test.txt echo 批处理 论坛
>>test.txt echo bbs.bathome.cn
::------------以上代码用于生成测试用的文本文件test.txt-------
for /f "delims=" %%a in (test.txt) do (
set /a n+=1
set !n!=%%a
)
for /l %%a in (1,1,%n%) do (
echo !%%a!
)
pause>nul
复制代码
在以上代码中,我将test.txt文本中的每一行内容存入一系列变量中,这些变量名从1开始依次排列。
第二个for循环我使用了变量延迟来获取了这些变量名并读取了变量值。
我想,有没有办法不使用变量延迟来达到这个效果,不使用变量延迟如何在第二个for循环中读取test.txt中的内容呢?
使用 echo %%%a% 不可以达到效果,显示内容为一个%
[
本帖最后由 0428_hai 于 2011-4-25 22:14 编辑
]
作者:
超级坏蛋
时间:
2011-4-25 20:57
直接些:
echo %%a
作者:
0428_hai
时间:
2011-4-25 22:15
内容更新,不知有没有说明白
作者:
chenall
时间:
2011-4-26 12:42
call echo %%%%a%%
作者:
0428_hai
时间:
2011-4-26 21:06
对,就是#4这个用法。
欢迎光临 无忧启动论坛 (http://wuyou.net/)
Powered by Discuz! X3.3