中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-04 06:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 又来麻烦你们了,求一方法取指定文件内容 查看 637 回复 2
楼 主 又来麻烦你们了,求一方法取指定文件内容 发表于 2007-11-14 12:14 ·  中国 吉林 长春 联通
初级用户
积分 20
发帖 7
注册 2007-11-13 07:02
18年会员
UID 102500
性别 男
状态 离线
我现在有一文件,名为abc.txt
内容如下
1:10.165.1.101 00:11:5B:94:00:00 00115B940000
2:10.165.1.102 00:90:F5:4A:00:00 0090F54A0000
3:10.165.2.155 00:50:BA:19:00:00 0050BA190000
4:10.165.2.164 00:1A:4D:06:00:00 001A4D060000
5:10.165.2.180 00:0E:A6:C3:00:00 000EA6C30000
6:10.165.2.238 00:00:E8:7D:00:00 0000E87D0000
7:10.165.2.250 00:10:DB:61:00:00 0010DB610000

我说明一下,文件内内容就是行号 IP MAC(带":"的) MAC(去掉":"的) 一共4部分。
我现在想用个命令实现这样一个目的:
比如我输入"1",则系统自动找到第一行,然后把MAC(去掉":"的)那部分为文件名,后面加.reg 为扩展名,执行...就可以

例:
我输入:1(回车)
电脑执行:00115B940000.reg
就可以了

多谢各位大师拉,此事急待解决~~多谢多谢
2 发表于 2007-11-14 12:43 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
这样吗?

@echo off&setlocal enabledelayedexpansion
set /p line1=
set line2=
for /f "tokens=1,3" %%i in (1.txt) do (
set/a line2+=1
set str=%%j
if !line1! equ !line2! (
set str=!str::=!
echo !str!.reg
)
)
pause
简单!简单!再简单!
3 发表于 2007-11-14 13:30 ·  中国 北京 联通
中级用户
★★
替身
积分 269
发帖 130
注册 2007-03-23 21:41
19年会员
UID 82683
性别 女
状态 离线
如果只涂简单点的话,下面的就应该够用了


@echo off&setlocal
set /p a=输入行号:
for /f "tokens=2" %%b in ('findstr "^%a%:.*" abc.txt') do (set aa=%%b)&&(call echo %%aa::=%%.reg)
论坛跳转: