使用批处理文件在我想要的任何行中查找文本文件中的第一个字符串

时间:2017-03-05 15:48:48

标签: batch-file cmd

我想使用批处理文件获取文本文件第二行的第一个字符串,如果可能的话,获取我想要的任何行的第一个字符串。

这是我要解析的文字:

CONTAINER ID        IMAGE               COMMAND                    CREATED             STATUS                      PORTS               NAMES
94c9dc4ba7c6        clearcmd6           "c:\\windows\\system..."   24 minutes ago      Exited (0) 23 minutes ago                       mycont

所以我希望在参数中得到 94c9dc4ba7c6

这可能吗?

2 个答案:

答案 0 :(得分:1)

<强>批次文件:

@echo off
for /f "USEBACKQ tokens=1 skip=1 delims= " %%a in (text-file.txt) do (echo %%a)

文字-file.txt的

CONTAINER ID        IMAGE               COMMAND                    CREATED             STATUS                      PORTS               NAMES
94c9dc4ba7c6        clearcmd6           "c:\\windows\\system..."   24 minutes ago      Exited (0) 23 minutes ago                       mycont

<强>输出:

  

94c9dc4ba7c6

答案 1 :(得分:0)

您需要记住,第一个字符串将是第一个空格

@Echo Off
Set "file=text-file.txt"
Set "line=34"
Set/A "skip=line-1"
For /F "UseBackQ Skip=%skip%" %%A In ("%file%") Do Set "var=%%A"
Setlocal EnableDelayedExpansion
Echo(!var!
EndLocal
GoTo :EOF

您只需输入所需的文件名,替换第2行的text-file.txt和第3行的替换34的行号。