批处理DOS命令findstr查找信息赋值给变量

文件名:test.txt文件内容:aaastr1=c:\aaastr2=d:\bbbstr3=e\cccbbbstr1=aaastr2=bbbstr3=ccc要求:批处理... 文件名:test.txt
文件内容:
aaa
str1=c:\aaa
str2=d:\bbb
str3=e\ccc

bbb
str1=aaa
str2=bbb
str3=ccc

要求:
批处理脚本,查找文件中aaa下的str1的值,赋值给变量并在此目录下创建文件,文件内容为bbb中的str1.
展开
 我来答
albumin
推荐于2017-10-08 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2330万
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims==" %%a in (test.txt) do (
if  "%%b"=="" set "n=%%a"
if "%%a"=="str1" (
if "!n!"=="aaa" set "a=%%b"
if "!n!"=="bbb" set "b=%%b"


cd /d %a%
echo %b% > "%b%.txt"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12d1a2235w652d
2015-03-06 · TA获得超过385个赞
知道小有建树答主
回答量:391
采纳率:80%
帮助的人:323万
展开全部
@echo off
setlocal enabledelayedexpansion
for /f "delims=` tokens=* eol=a" %%a in (test.txt) do (
 if "%%a"=="bbb" goto :n
 set %%a
 set pth=!str1!
)
:n
find /n "bbb" test.txt>temp.tmp
for /f "delims=] tokens=1-2 eol=`" %%a in (temp.tmp) do (
 set l=%%a
 set l=!l:[=!
 set l=!l: =!
 goto :o
)
:o
for /f "delims=` tokens=* eol=` skip=!l!" %%a in (test.txt) do (
 set %%a
)
echo !str1!>!pth!\aaa.txt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式