首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批处理文件,用于打开最新的Malware字节反恶意软件日志

批处理文件,用于打开最新的Malware字节反恶意软件日志
EN

Stack Overflow用户
提问于 2009-03-21 01:07:13
回答 3查看 2.4K关注 0票数 0

在Vista中,我希望运行一个批处理脚本,根据上次修改的日期或文件名中的日期打开最近的文件。它用于%username&/appdata/roaming/Malwarebytes/Malwarebytes‘反恶意软件/日志文件夹中的Malware字节反恶意软件日志。

这里的日志文件是这种格式的。

mbam-log-2009-03-21 (00-20-21).txt

mbam-log-2009-03-21 (09-42-40).txt

mbam-log-2009-03-21 (11-02-43).txt

mbam-log-2009-03-21 (11-12-01).txt

mbam-log-2009-03-21 (12-01-42).txt

mbam-log-2009-03-21 (12-04-49).txt

mbam-log-2009-03-21 (14-01-41).txt

所以它的24小时格式。我在这里的另一页上读到了这个剧本。

代码语言:javascript
复制
@echo off
dir *.txt /b /on > systext.bak 
FOR /F %%i in (systext.bak) do set sysRunCommand=%%i 
call %sysRunCommand%
del systext.bak /y

但它不喜欢文件名中的空格。总是犯错误。有人有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2009-03-21 03:57:40

实际上,脚本中有三个问题。首先,%i很可能被设置为带有文件名的单词--这可以通过在"delims="语句中使用for来修复。

第二,您需要在call语句中引用空格文件名。

第三,我不知道/y选项用于del,您可能指的是del /f

阿迈韦,试试看:

代码语言:javascript
复制
@echo off
dir *.txt /b /on > systext.bak 
FOR /F "delims=" %%i in (systext.bak) do set sysRunCommand=%%i 
call "%sysRunCommand%"
del /f systext.bak
票数 1
EN

Stack Overflow用户

发布于 2009-03-21 01:13:24

以下一行批处理文件将打开最近修改的文件:

代码语言:javascript
复制
for /f "usebackq delims=" %%i in (`dir /b /o-d`) do @start "%%i"&goto :eof

使用dir比尝试剖析文件名中的日期简单得多。您也可以按文件名排序(因为日期格式有点像ISO-8601-ish比较好)。

goto :eof只是为了确保只打开最近的文件,而不是按日期/时间的顺序打开所有文件。

至于您的空间问题,在文件名周围加上引号通常会修复这个问题,但有时很难知道它们在哪里。而且,默认情况下,for会在空格中标记它的输入,这就是为什么我在其中包含了delims=,它本质上说:将所有内容都放入变量中,而不进行任何标记。

票数 0
EN

Stack Overflow用户

发布于 2009-09-21 19:02:53

我知道这是个老职位,我不想再提这个问题--我有一个解决这个问题的办法。

Malware字节的反恶意软件包括将日志文件重新路由到另一个位置(文件夹或指定文件)的能力。

您可以运行“%programfiles%\malware字节‘防恶意软件\mbam.exe”/logtofile c:\log\bob log.txt。/logtofolder也能工作。(上面的命令假设您使用的是32位系统。)

当指定文件时,mbam会追加而不是覆盖。因此,这可能会使日志更难解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/668513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档