中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 19:42
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何读取文本文件每行冒号后的字符串到变量中 查看 1,102 回复 4
楼 主 如何读取文本文件每行冒号后的字符串到变量中 发表于 2009-04-29 00:54 ·  中国 山西 太原 联通
新手上路
积分 9
发帖 6
注册 2008-11-07 17:41
17年会员
UID 130301
性别 男
状态 离线
有一个文本文件 inf.txt 内容:
设备ID:0150000123
设备密码:123123
关联设备:0150000125,0150000126,0150000127
备注信息:此设备已关联,请及时核实


问题:做一个批处理,将每行冒号后的内容传递到相应的变量中?
2 发表于 2009-04-29 03:18 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%i in (inf.txt) do set /a i+=1 & set s!i!=%%i & call echo %%s!i!%%
pause


[ Last edited by jmz573515 on 2009-4-29 at 20:30 ]
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
258415482 +1 2009-04-29 06:17
hyde777 +1 2009-07-01 00:33
3 发表于 2009-04-29 06:23 ·  中国 山西 太原 联通
新手上路
积分 9
发帖 6
注册 2008-11-07 17:41
17年会员
UID 130301
性别 男
状态 离线
谢谢2楼的回复,小弟的意思是想把这些参数传递到另一个批处理中,另一个批处理有四个变量接受传递过去的参数。

接收批处理start.bat的内容:
@echo off
set a=%1
set b=%2
set c=%3
set d=%4
......

[ Last edited by 258415482 on 2009-4-29 at 06:24 ]
4 发表于 2009-04-29 08:14 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%i in (inf.txt) do set str=!str! "%%i"
call start.bat %str%


另外:
把接收的%1,%2,%3,%4改为:%~1,%~2,%~3,%~4
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
258415482 +1 2009-04-29 22:45
精简
=> 个人网志
5 发表于 2009-04-29 22:48 ·  中国 山西 太原 联通
新手上路
积分 9
发帖 6
注册 2008-11-07 17:41
17年会员
UID 130301
性别 男
状态 离线
Originally posted by netbenton at 2009-4-29 08:14:
@echo off&setlocal enabledelayedexpansion
for /f "tokens=2 delims=:" %%i in (inf.txt) do set str=!str! "%%i"
call start.bat %str%


另外:
把接收的%1,%2,%3,%4改为 ...




非常感谢,根据你的代码问题解决了!
论坛跳转: