中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 06:17
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何读取文本每一行,且自动设定变量
可打印版本  802 / 4
第1楼 wuhanbin 发表于 2009-01-19 22:15
初级用户 发帖 86 积分 191
如何读取文本每一行,且自动设定变量
加入一个文本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 ]
第2楼 tireless 发表于 2009-01-19 22:41
银牌会员 发帖 1,122 积分 2,025
第3楼 netbenton 发表于 2009-01-19 23:18
银牌会员 发帖 752 积分 1,916 来自 广西
@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 ]
第4楼 wuhanbin 发表于 2009-01-20 00:05
初级用户 发帖 86 积分 191
谢谢大家的帮助,netbenton的代码输出结果:
a=CD %b%
b=DIR %c%
c=GET %d%
如何才能把每行最后的%%去掉呢,谢谢!
第5楼 netbenton 发表于 2009-01-20 22:58
银牌会员 发帖 752 积分 1,916 来自 广西
不好意思,是我看错了,已经改过来了.
不过2楼的更精练
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023