批处理从一个文本提取指定内容复制到另一文本指定位置

A.txt内容:123456789012=001234567890123=002345678901234=003.....B文件内容:【宽带】宽带账号:宽带密码:....... A.txt内容:
123456789012=001
234567890123=002
345678901234=003
.....
B文件内容:
【宽带】
宽带账号:
宽带密码:
......
目的:(=后面的数字是机器名)根据机器名自动提取机器名=号前面12位数字复制到B文件 宽带账号:后面

求助,万分感谢
展开
 我来答
朴素且可爱灬小喵1
2013-12-27 · TA获得超过2902个赞
知道大有可为答主
回答量:1713
采纳率:89%
帮助的人:518万
展开全部
您把下面这段批处理存为setaccount.bat,与a.txt和b.txt放在同一个文件夹下,运行就行了,您试试看。
@echo off
@setlocal enabledelayedexpansion
@ren b.txt _b.txt
@for /f "tokens=1,2* delims==" %%i in (a.txt) do (
@set pcname=%%j
@set pwd=%%i
@if %computername%==!pcname! (
@for /f "delims=" %%k in (_b.txt) do (
@set ln=%%k
@if !ln!==宽带账号: (
@echo 宽带账号:%computername% >> b.txt
) else (
@if !ln!==宽带密码: (
@echo 宽带密码:!pwd! >> b.txt
) else (
@echo !ln! >> b.txt
)))))
if not exist b.txt (
@ren _b.txt b.txt
) else (
@del _b.txt /f /q >nul
)
追问
试了下不行 能拜个师么 26591113我的Q
追答
您好,这段批处理在处理时自动读取了机器名判断,就是下面这句:
@if %computername%==!pcname! (
如果您测试的机器名在a.txt列表中不存在,就不会导入内容,您可以手工编辑一下a.txt试一下。我是试过的。
风与雨的故事
2013-12-31 · TA获得超过405个赞
知道小有建树答主
回答量:359
采纳率:80%
帮助的人:244万
展开全部
很简单的,两个for语句欠套,用=做提取文本的分隔符分析文本,两个echo写入b文件就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式