微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

batch file返回到文本文件的最后一行旁边

我有一个文件,其中包含文件输出比较写入文本文件

Comparing files C:LOGSold.txt and C:LOGSNEW.TXT

***** C:LOGSold.txt

***** C:LOGSNEW.TXT

folder_thats_different

*****

我需要拉出最后一行“folder_thats_different”并放入一个新的string:

folder contains a file that is different: folder_thats_different

是的,我知道我可以使用另一种语言,但现在我暂时停止使用batch file。

Windows格式命令行跳过“input当前音量…”和“继续格式…”

使用windowsbatch file将具有特殊字符的多行放入剪辑中

批处理脚本,在服务器上调用cmd

脚本来检查电池状态variables,并在if语句中使用它,是否有任何脚本,使.bat文件作为一个隐藏进程每分钟运行

当在FOR循环中运行“adb pull ”时,Windows cmd会加扰

您可以尝试使用for循环读取它并采取当前行,并始终保存上一行

@echo off setlocal EnableDelayedExpansion for /f "delims=" %%x in (myFile.txt) do ( set "prevIoUs=!last!" set "last=%%x" ) echo !prevIoUs!

这里有一个你可以用作起点的例子。 只要将set command=行中的文件名改为合适的名称(或者将日志列表中的内容替换成任何命令)。

@echo off @setlocal (set command=type test.txt) for /f "usebackq tokens=*" %%i in (`%command%`) do call :process_line %%i echo next to last line: %old_line% goto :eof :process_line (set old_line=%new_line%) (set new_line=%*) goto :eof

当然,你可能想要做一些事情,而不是简单地回应找到的行。

一个答案适用于我。 我还在结束后添加了2行以允许重复,所以我可以在不关闭并重新打开的情况下观看活动的日志文件。 我在Space Engineers游戏中使用的MOD进行了大量的调试。 我的版本是这样的:

@echo off setlocal EnableDelayedExpansion for /f "delims=" %%x in (SpaceEngineers.log) do ( set "prevIoUs=!last!" set "last=%%x" ) echo !prevIoUs! timeout 15 /nobreak se_log

下面的行停止循环太快的批处理文件并停止键旁路。 要以秒为单位更改时间,只需将数字“15”更改为任何您想要的。 要停止批处理文件,只需按Ctrl + C。

timeout 15 /nobreak

下面的行是我创建的批处理文件名称,所以它会告诉CMD再次运行它。

se_log

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐