嗨,我正在尝试编写一个批处理脚本来读取长文本文件,找到一行:
地点:xxxxxxxx
并将 xxxxxxxx (仅)保存为变量,以便我稍后在脚本中使用。
xxxxxxxx 是一个 ID,该行上没有其他内容。
有人可以帮忙吗?
这也有效。
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%
这个简单的任务只需要一些标准的 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 /?