从批处理文件中解析引用的文本

时间:2009-05-15 10:36:14

标签: command-line batch-file

我想在批处理文件中进行一些简单的解析。

给定输入行:

Foo: Lorem Ipsum 'The quick brown fox' Bar

我想提取引用的部分(不带引号):

The quick brown fox

仅使用Windows XP上提供的标准命令行工具。

(我查看了findfindstr,但它们似乎不够灵活,只能返回一行 part 。)

1 个答案:

答案 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