【发布时间】:2021-04-21 22:52:34
【问题描述】:
我想读取日志文件的最后两行,下面的代码正在打印所有行
@echo on
setlocal EnableDelayedExpansion
for /f "delims=" %%x in (C:\FICO\test_script\retcodeStartClientKYC.txt) do (
set "previous=!last!"
set "last=%%x"
)
echo !previous!
set var1=%previous%
set var2=%var1:*:=%
echo %var2% >> result1.txt
谁能告诉我上面的代码有什么问题。
【问题讨论】:
-
您发布的代码应该输出从
retcodeStartClientKYC.txt到results.txt的倒数第二行的第一个冒号:之后的所有内容。但是,文本文件的内容、编码和行结尾可能会给您带来问题。文本文件应该是 UTF-8 或 ANSI 编码,而不是 UTF-16 LE,并且应该使用 Windows CRLF 或 Unix LF 行结尾,而不是 MAC CR。但是,如果没有 fie 内容,我无法建议您是否包含更健壮的代码,例如3、8和9行上的双引号,以及10行上的带括号的延迟扩展在这种特定情况下会有所帮助.
标签: batch-file logfile