Board logo

标题: 如何读取文本每一行,且自动设定变量 [打印本页]

作者: wuhanbin     时间: 2009-1-19 22:15    标题: 如何读取文本每一行,且自动设定变量

加入一个文本a.txt内容如下(已知文本行数小于等于26行)
CD
DIR
GET
……
设定变量%a%为CD %b%为DIR %c%为GET ……以此类推
如果只有3行,就只设%a%,%b%,%c%三个变量,不要多设.
请问如何实现,谢谢!

[ Last edited by wuhanbin on 2009-1-19 at 22:16 ]
作者: tireless     时间: 2009-1-19 22:41

@echo off & setlocal enabledelayedexpansion
set Letters=abcdefghijklmnopqrstuvwxyz
for /f "delims=" %%a in (a.txt) do (
  set One=!Letters:~,1!
  set "!One!=%%a"
  set Letters=!Letters:~1!
)
pause

作者: netbenton     时间: 2009-1-19 23:18
@echo off&setlocal enabledelayedexpansion
set nn=0
set str=a b c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%str%) do set /a nn+=1&set _!nn!=%%a
set nn=0
for /f %%a in (a.txt) do (call :sub&set !aa!=%%a)
for %%a in (%str%) do if not "!%%a!"=="" echo %%a=!%%a!
pause

:sub
set /a nn+=1
set aa=!_%nn%!
goto :eof

[ Last edited by netbenton on 2009-1-20 at 00:31 ]
作者: wuhanbin     时间: 2009-1-20 00:05
谢谢大家的帮助,netbenton的代码输出结果:
a=CD %b%
b=DIR %c%
c=GET %d%
如何才能把每行最后的%%去掉呢,谢谢!
作者: netbenton     时间: 2009-1-20 22:58
不好意思,是我看错了,已经改过来了.
不过2楼的更精练