如何从结果列表中仅取第一个结果并设置为var?

时间:2012-10-13 01:41:30

标签: windows batch-file

编写批处理脚本以查找正确的文件。

dir /o:-d /a:-d F:\ | findstr /i ".target."

有上面的脚本,我的目标只是第一个文件,并希望存储文件名以供以后的脚本使用。

有谁知道如何获取第一个文件,并设置为var?

1 个答案:

答案 0 :(得分:0)

以下是检索略微修改的命令行的第一行的一个示例,并将该行保存到变量line1中。 /b参数被添加到dir命令,因为我们只需要文件名。命令行中的|字符也需要由^字符转义。

@echo off
setlocal
set line1=
for /f "tokens=* delims=" %%A in ('dir /o:-d /a:-d /b F:\ ^| findstr /i ".target."') do (
  set line1=%%A
  rem exit loop immediately once we got the line
  goto next
)
:next
if "%line1%" != "" (
  echo First Line:
  echo %line1%
) else (
  echo No file is found
)