我使用以下命令提取了文本文件的最后一行:
for /f "tokens=*" %%m in (message_log.txt) do (
Set lastline=%%m
)
我的目标是变量%lastline%=="☺§☻PDF
文件已中止。
然后显示一个输出,如果没有退出。但我认为前三个字符搞砸了。我正在尝试这个:
for /F "tokens=1-5 delims= " %%a in (%lastline%) do (
if %%e==aborted. (
echo pdf not filed
)
Pause
但文件刚退出,没有暂停,也没有输出。
如果不是使用%lastline%
而是使用bananasText.setText(applesMessage);
,我可以使用这个,因为我在第一个for循环中引用了一个文件,但是我无法使用变量。
使用FOR循环在预定义变量中搜索的正确语法是什么?
如果它更简单 我的最终目标是在我的文本文件中的最后一行包含字符串“abort”时回显错误消息。 有没有更好的方法这样做?
答案 0 :(得分:0)
你的第一种方法是好的,只是错过了支票。
for /f "delims=" %%m in (message_log.txt) do Set lastline=%%m
If "%lastline%" neq "%lastline:abort=%" ^
Echo error message the last line in message_log.txt contains the string "abort"
使用findstr
for /f "delims=" %%m in (message_log.txt) do Set lastline=%%m
Echo %lastline%|Findstr /i "abort" 2>&1 >Nul && ^
Echo error message the last line in message_log.txt contains the string "abort"
安装了Gnuwin32工具
tail -n 1 message_log.txt|grep "abort" >NUL && ^
Echo error message the last line in message_log.txt contains the string "abort"