[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理两个文本内容匹配问题

有两个文档文档1内容如下
  1. 1=A
  2. 2=A
  3. 3=A
  4. 4=B
  5. 5=C
复制代码
文档2内容如下
  1. 3
复制代码
文档2内容是会变化,问如果文档2内容为”3“时怎样输出为A?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 6# idwma


这样不太严禁,例如1.txt内容:
1=A
2=A
3=A
4=B
5=C
33=D
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# 风在吹着


    欸欸欸woc 写错了一个地方太sorry了啊啊啊
已经改好了
你好

TOP

本帖最后由 jyswjjgdwtdtj 于 2023-3-12 08:22 编辑

回复 1# 风在吹着


    主要是不会bat
不转变量就用字典(比转变量好太多了 刚刚脑子坏掉了)
  1. set dic=createobject("scripting.dictionary")
  2. set fso=createobject("scripting.filesystemobject")
  3. set f=fso.opentextfile("1.txt",1)
  4. do until f.atendofstream
  5. k=split(f.readline,"=")
  6. dic.add k(0),k(1)
  7. loop
  8. f.close
  9. set f=fso.opentextfile("2.txt",1)
  10. do until f.atendofstream
  11. msgbox dic.item(f.readline)
  12. loop
复制代码
1

评分人数

你好

TOP

  1. for /f %%i in (2.txt) do (
  2.      for /f "tokens=2 delims==" %%j in ('findstr /ibc:"%%i=" 1.txt') do (
  3.            echo %%j
  4.      )
  5. )
  6. pause
复制代码
1

评分人数

    • 风在吹着: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

  1. for /f "tokens=2 delims==" %%i in ('findstr /g:2.txt 1.txt') do echo %%i
复制代码
1

评分人数

TOP

主要的问题就是把字符串转换为变量
很讨厌的
你好

TOP

回复 3# 风在吹着


    如果能用vbs 则
  1. set fso=createobject("scripting.filesystemobject")
  2. set f=fso.opentextfile("1.txt",1)
  3. do until f.atendofstream
  4. executeglobal("var"&f.readline)
  5. loop
  6. set p=fso.opentextfile("2.txt",1)
  7. do until p.atendofstream
  8. msgbox eval("var"&p.readline)
  9. loop
复制代码
你好

TOP

回复 2# jyswjjgdwtdtj


    那如果文档1需要不断更加内容呢?如D=6 E=7之类的

TOP

不如把文档1改成bat代码?
你好

TOP

返回列表