如何使用批处理脚本从文本文件中捕获变量?

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

嗨,我正在尝试编写一个批处理脚本来读取长文本文件,找到一行:

地点:xxxxxxxx

并将 xxxxxxxx (仅)保存为变量,以便我稍后在脚本中使用。

xxxxxxxx 是一个 ID,该行上没有其他内容。

有人可以帮忙吗?

string parsing batch-file cmd
2个回答
0
投票

这也有效。

for /f "tokens=2" %a in ('type longtextfile.txt ^|findstr /b "Location"') do set location=%a
echo %location%

编辑:添加 Aacini 更有效的方法:

for /f "tokens=2" %a in ('findstr /b "Location" longtextfile.txt') do set location=%a
echo %location%

0
投票

这个简单的任务只需要一些标准的 Windows 命令:

@echo off
set "TextFile=C:\Temp\Text file to search for location.txt"
if not exist "%TextFile%" echo Can't find file: "%TextFile%"& exit /B
for /F "usebackq tokens=1* delims=: " %%I in ("%TextFile%") do (
    if /I "%%I" == "Location" (
        set "Location=%%J"
        goto FoundLocation
    )
)
echo No location found in file: "%TextFile%"
exit /B

:FoundLocation
echo Location is: %Location%

在第二行,必须定义带有路径的文本文件的名称。

要了解所使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完整、仔细地阅读每个命令显示的帮助页面。

  • echo /?
  • exit /?
  • for /?
  • if /?
  • goto /?
  • set /?
© www.soinside.com 2019 - 2024. All rights reserved.