无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2811|回复: 4
打印 上一主题 下一主题

当for循环中的%%a为变量名时,如何获取其值?

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-25 20:04:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
for /f %%a in (a.txt) do (
  ::a.txt文本中的内容为变量名,想在这儿引用这个变量,如何写代码?
  ::echo %%%a%,这样写不对。
)


主题帖内容更新如下:
  1. @echo off
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3. ::------------以下代码生成测试用的文本文件test.txt-------
  4. >test.txt echo my
  5. >>test.txt echo name
  6. >>test.txt echo is jack
  7. >>test.txt echo 批处理 论坛
  8. >>test.txt echo bbs.bathome.cn
  9. ::------------以上代码用于生成测试用的文本文件test.txt-------
  10. for /f "delims=" %%a in (test.txt) do (
  11.   set /a n+=1
  12.   set !n!=%%a
  13. )
  14. for /l %%a in (1,1,%n%) do (
  15.   echo !%%a!
  16. )
  17. pause>nul
复制代码
在以上代码中,我将test.txt文本中的每一行内容存入一系列变量中,这些变量名从1开始依次排列。
第二个for循环我使用了变量延迟来获取了这些变量名并读取了变量值。
我想,有没有办法不使用变量延迟来达到这个效果,不使用变量延迟如何在第二个for循环中读取test.txt中的内容呢?
使用 echo %%%a% 不可以达到效果,显示内容为一个%

[ 本帖最后由 0428_hai 于 2011-4-25 22:14 编辑 ]
2#
发表于 2011-4-25 20:57:10 | 只看该作者
直接些:

echo %%a
回复

使用道具 举报

3#
 楼主| 发表于 2011-4-25 22:15:22 | 只看该作者
内容更新,不知有没有说明白
回复

使用道具 举报

4#
发表于 2011-4-26 12:42:32 | 只看该作者
call echo %%%%a%%
回复

使用道具 举报

5#
 楼主| 发表于 2011-4-26 21:06:06 | 只看该作者
对,就是#4这个用法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 23:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表