我将要在input.txt中搜索的文件和要查找的字符串称为mystring。
input.txt 的示例内容(真实的 input.txt)
randomstring1<>"\/=:
randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3
- mystring被字符串包围
<ORIGINAL>
,</ORIGINAL>
必须搜索 - 两个标签之间的字符串
ORIGINAL
应该被复制到剪贴板(使用|剪辑) - mystring和标签只出现一次。但他们没有固定的位置
- 所有字符串都可以包含特殊字符(<、>、"、\、/、=、:)
我读了很多其他 SO 问题,但老实说:FOR 循环和 SET 命令语法对我来说太尴尬了。我想我最好的选择是 FINDSTR 命令。但也许在 RegEx 表达式的一些帮助下也是可能的。
我不想使用 VBscript、Powershell、SED、FART、AWK、grep 或任何其他附加工具。
如果您发布解决方案,请善待并解释困难的部分。
我想了解它,也许它对其他人也有帮助。
我放弃之前的最后一次尝试是这个test.cmd
@echo off
set "x=randomstring1<>"\/=:randomstring2<ORIGINAL>mystring</ORIGINAL>randomstring3"
set "x=%x:*<ORIGINAL>=%"
set "x=%x:</ORIGINAL>*=%"
set x=%x:~2%
echo %x%
pause