Board logo

标题: [文本处理] [已解决]批处理两个文本内容匹配问题 [打印本页]

作者: 风在吹着    时间: 2023-3-11 20:16     标题: [已解决]批处理两个文本内容匹配问题

有两个文档文档1内容如下
  1. 1=A
  2. 2=A
  3. 3=A
  4. 4=B
  5. 5=C
复制代码
文档2内容如下
  1. 3
复制代码
文档2内容是会变化,问如果文档2内容为”3“时怎样输出为A?
作者: jyswjjgdwtdtj    时间: 2023-3-11 20:22

不如把文档1改成bat代码?
作者: 风在吹着    时间: 2023-3-11 20:36

回复 2# jyswjjgdwtdtj


    那如果文档1需要不断更加内容呢?如D=6 E=7之类的
作者: jyswjjgdwtdtj    时间: 2023-3-11 21:08

回复 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
复制代码

作者: jyswjjgdwtdtj    时间: 2023-3-11 21:09

主要的问题就是把字符串转换为变量
很讨厌的
作者: idwma    时间: 2023-3-11 21:34

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

作者: terse    时间: 2023-3-11 21:49

  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
复制代码

作者: jyswjjgdwtdtj    时间: 2023-3-11 22:01

本帖最后由 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
复制代码

作者: jyswjjgdwtdtj    时间: 2023-3-12 08:22

回复 1# 风在吹着


    欸欸欸woc 写错了一个地方太sorry了啊啊啊
已经改好了
作者: Batcher    时间: 2023-3-12 09:03

回复 6# idwma


这样不太严禁,例如1.txt内容:
1=A
2=A
3=A
4=B
5=C
33=D




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2