我想在批处理文件中进行一些简单的解析。
给定输入行:
Foo: Lorem Ipsum 'The quick brown fox' Bar
我想提取引用的部分(不带引号):
The quick brown fox
仅使用Windows XP上提供的标准命令行工具。
(我查看了find
和findstr
,但它们似乎不够灵活,只能返回一行 part 。)
答案 0 :(得分:4)
这样的东西会起作用,但前提是每行输入都有一个带引号的字符串:
@echo OFF
SETLOCAL enableextensions enabledelayedexpansion
set TEXT=Foo: Lorem Ipsum 'The quick brown fox' Bar
@echo %TEXT%
for /f "tokens=2 delims=^'" %%A in ("abc%TEXT%xyz") do (
set SUBSTR=%%A
)
@echo %SUBSTR%
输出,在中间引用字符串:
Foo: Lorem Ipsum 'The quick brown fox' Bar
The quick brown fox
输出,引用前面的字符串:
'The quick brown fox' Bar
The quick brown fox
输出,最后引用字符串:
Foo: Lorem Ipsum 'The quick brown fox'
The quick brown fox
输出,整个字符串引用:
'The quick brown fox'
The quick brown fox