使用批处理命令读取第2行的第3个单词

时间:2014-02-26 09:25:03

标签: batch-file

我有一个文本文件,其第二行的特定第三个字必须被提取并写入另一个文件 例如:

line1: ELEMENT * CHEKDOUT 
line2: ELEMENT * ABC
line3: ELEMENT * \dir

在上面的文件中..'ABC'必须被提取并写入另一个文件,比如temp.txt

3 个答案:

答案 0 :(得分:1)

<file.txt ( set /p "line=" & set /p "line=" )
for /f "tokens=3" %%a in ("%line%") do echo %%a>temp.txt

答案 1 :(得分:0)

作为批处理行:

set "word="
for /f "skip=1okens=3" %%w in (yourtextfilename) do if not defined word set "word=%%w"

for /f "skip=1okens=3" %%w in (yourtextfilename) do set "word=%%w"&goto nextcmd
:nextcmd

单词将无法访问%word%

如果您只想要新文件中的单词

for /f "skip=1okens=3" %%w in (yourtextfilename) do >newfilename echo(%%w&goto nextcmd
:nextcmd

答案 2 :(得分:0)

您可以使用setx命令通常被忽略的功能,该功能已在Using SETX command to get tokens from a file中得到完整解释。例如:

for /F "tokens=3" %%a in ('"setx /F filename.txt dummyVar /A 1,2"') do set "var=%%a" & goto continue
:continue
echo %var:~0,-1% > temp.txt

请注意setx /A命令中的行和标记从零开始编号。也许您需要调整for命令中的“tokens = 3”值;这对于西班牙语版本是正确的。您可以单独执行setx命令进行检查。例如:

C:\> type test.txt
ELEMENT * CHEKDOUT
ELEMENT * ABC
ELEMENT * \dir

C:\> test

C:\> type temp.txt
ABC

C:\> setx /F test.txt dummyVar /A 1,2

Valor extraído: ABC.

CORRECTO: se guardó el valor especificado.