我有一个批处理文件,它从文件(.txt或.js)获取最后一行。 但是,如果我的结束字符串(或行)有任何"!" mark,我没有得到预期的字符串(或行)。
批处理文件如下所示:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "delims=" %%s in ('findstr /r /i /c:":" %1' ) do set LASTLINE=%%s
echo !LASTLINE!
因此,对于我的输入文件,即sample.txt:
BEGIN
Country : US
Country : UK
Text : Welcome! Pleasure to have you here.
END
我得到了:
文字:欢迎您的到来。
预期:
文字:欢迎!很高兴你能来这里。
任何帮助表示赞赏!!
答案 0 :(得分:2)
将ENABLEDELAYEDEXPANSION
移到for
循环下方,这样就不会干扰您的内容
@echo off
for /f "delims=" %%s in ('findstr /r /i /c:":" %1' ) do set LASTLINE=%%s
SETLOCAL ENABLEDELAYEDEXPANSION
echo !LASTLINE!