批处理文件 - 从 .txt 文件中提取特定文本
Batch file - extract specific text from .txt file
我需要使用 cmd 从文件中提取一些文本
文本文件简化示例
{"code1":"7adu627","code2":"jwfuj4r","code3":"dsfhy3","code4":"usgf634"}
我需要提取代码 2 和代码 3 之后的文本,因此输出将是这样的
code2: jwfuj4r
code3: dsfhy3
或者只是这个
jwfuj4r
dsfhy3
我找到了其他类似的帖子,但它们没有用,或者我无法让它工作。
@echo off
for /f "tokens=2,3 delims=," %%a in (file.txt) do (
for /f "tokens=2 delims=:" %%c in ("%%a") do echo %%~c
for /f "tokens=2 delims=:" %%c in ("%%b") do echo %%~c
)
注意:这适用于您的示例。任何解决方案都将在很大程度上取决于您的真实数据。
更通用一点(明确搜索 code2
和 code3
):
@echo off
for /f "delims=" %%a in (file.txt) do (
for %%b in (%%a) do (
for /f "tokens=1,2 delims=:" %%c in ("%%b") do (
echo %%c|findstr "code2 code3">nul && echo %%~d
)
)
)
我需要使用 cmd 从文件中提取一些文本 文本文件简化示例
{"code1":"7adu627","code2":"jwfuj4r","code3":"dsfhy3","code4":"usgf634"}
我需要提取代码 2 和代码 3 之后的文本,因此输出将是这样的
code2: jwfuj4r
code3: dsfhy3
或者只是这个
jwfuj4r
dsfhy3
我找到了其他类似的帖子,但它们没有用,或者我无法让它工作。
@echo off
for /f "tokens=2,3 delims=," %%a in (file.txt) do (
for /f "tokens=2 delims=:" %%c in ("%%a") do echo %%~c
for /f "tokens=2 delims=:" %%c in ("%%b") do echo %%~c
)
注意:这适用于您的示例。任何解决方案都将在很大程度上取决于您的真实数据。
更通用一点(明确搜索 code2
和 code3
):
@echo off
for /f "delims=" %%a in (file.txt) do (
for %%b in (%%a) do (
for /f "tokens=1,2 delims=:" %%c in ("%%b") do (
echo %%c|findstr "code2 code3">nul && echo %%~d
)
)
)