我有一个文本文件,其第二行的特定第三个字必须被提取并写入另一个文件 例如:
line1: ELEMENT * CHEKDOUT
line2: ELEMENT * ABC
line3: ELEMENT * \dir
在上面的文件中..'ABC'必须被提取并写入另一个文件,比如temp.txt
答案 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.