windows批处理文件/获取一行中的最后一个单词
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows批处理文件/获取一行中的最后一个单词相关的知识,希望对你有一定的参考价值。
我在批处理文件中有一个奇怪的情况。
我有一个名为state.txt的txt文件,其中包含以下行:
State ON
我需要读取“ON”字(它也可以是OFF),所以我使用以下简单的批处理文件:
@echo off
for /f "tokens=2" %%a in (state.txt) do set word1=%%a
echo %word1%
当执行批处理文件时,我没有得到任何输出,但当我将“ON”或“OFF”字改为任何其他字时,它会显示出来。
我在这里很困惑!什么是ON / OFF和输出之间的关系。
答案
这是因为ON
和OFF
是ECHO
的特殊输入,可以打开或关闭命令回显。考虑一下:
SET VAR1=OFF
ECHO %VAR1%
SET VAR2=ON
ECHO %VAR2%
SET VAR3=TEST
ECHO %VAR3%
这将输出:
C:\Windows>SET VAR1=OFF
C:\Windows>ECHO OFF
C:\Windows>SET VAR3=TEST
C:\Windows>ECHO TEST
TEST
你没有看到VAR2
部分,因为命令回显是用VAR1
转换的。你看到VAR3
部分,因为VAR2
再次打开它。
如果你想回应单词ON
和OFF
,你可以在ECHO
和ON
或OFF
之间放一个点:
C:\Windows>SET VAR4=ON
C:\Windows>ECHO.ON
ON
C:\Windows>SET VAR5=OFF
C:\Windows>ECHO.OFF
OFF
以上是关于windows批处理文件/获取一行中的最后一个单词的主要内容,如果未能解决你的问题,请参考以下文章
在 UITextview 中的单词中间点击空格时光标移动最后一行
如何在该行某处某处的某一行中的特定字符串之后从文本文件中获取一个数字?