如何通过批处理脚本从文件中获取特定值?

问题描述 投票:1回答:2

我有一个具有以下内容的文件abc.txt

3922 [main] INFO  com.informatica.saas.utilities.task.ICSTask  - Submitted run of the task: taskId=000YKG0N00000000002N, taskRunId=\

我想提取单词000YKG0N00000000002N并将此值存储在变量中以在脚本中进一步使用它。

我尝试使用下面的代码:

for /F "tokens=*" %%A in (abc.txt) & for %%A in ("taskId=" "%") do echo Value: %%~A

我得到的错误:

%% A这一次是意外的

请帮助我解决问题

batch-file
2个回答
0
投票

也许只是:

@for /f "tokens=2 delims=:," %%i in ('type abc.txt') do @set%%i
echo %taskID%

0
投票

您可以尝试以下代码:

@echo off
for /F "tokens=2 delims==" %%A in ('Type abc.txt') do ( 
    for /F "tokens=1 delims=," %%B in ('echo %%A') do (
        Set "IDTask=%%B"
    )
)
echo TaskID = [%IDTask%]
pause

EDIT:另一个受Gerhard Barnard启发的代码:

@echo off
SetLocal EnableDelayedExpansion
@for /f "tokens=2 delims=:," %%i in ('type abc.txt') do ( 
    @set%%i 
    REM To remove Space into Variable
    Set "taskID=!taskID: =!"
    echo taskID = [!taskID!]
)   
pause
© www.soinside.com 2019 - 2024. All rights reserved.