标题: [文本处理] 请问BAT如何正确输出含有变量的变量值? [打印本页]
作者: suseek 时间: 2013-10-18 20:29 标题: 请问BAT如何正确输出含有变量的变量值?
各位高手,下面这段程序为何不能输出变量值,谢谢- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ( 5.txt ) do (
- set n=0
- for %%j in (%%i) do (
-
- set /a n+=1
- set ar[!n!]=%%j
- echo !ar[%n%]!
-
- )
- )
- pause
复制代码
作者: suseek 时间: 2013-10-18 20:48
就是为什么echo !ar[%n%]! 出现错误,如何引用ar[n]的值
作者: foxJL 时间: 2013-10-18 22:28
复制代码
作者: suseek 时间: 2013-10-19 08:03
请问FOXJL,为什么此处要用CALL ECHO 并用双%?
作者: batman 时间: 2013-10-19 10:03
本帖最后由 batman 于 2013-10-19 10:05 编辑
建议用FOR来嵌套变量- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in ( 5.txt ) do (
- set /a n=0
- for %%j in (%%i) do (
- set /a n+=1
- for %%k in (!n!) do (
- set "ar[%%k]=%%j"
- echo,!ar[%%k]!
- )
- )
- )
- pause
复制代码
作者: foxJL 时间: 2013-10-19 11:47
回复 4# suseek
延伸阅读<批处理中的变量嵌套变量用法>
http://bbs.bathome.net/thread-2900-1-1.html
使用call会影响批处理的工作效率,也就是会变慢一点.但我个人觉得效率都是相对的,对比人手动去完成工作来说用批处理会快得太多了.从实用的角度我都是怎么简单怎么来,又不是大型项目没必要太在意那么一点点效率.
作者: shanshui435 时间: 2013-10-19 19:16
5634534尔特突然
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |