首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何编写一个批处理脚本来遍历目录中的日志文件,并在日志文件中找到字符串"filename.found“时生成”filename.found“?

编写一个批处理脚本来遍历目录中的日志文件,并在日志文件中找到字符串"filename.found"时生成"filename.found",可以按照以下步骤进行:

  1. 打开一个文本编辑器,创建一个新的批处理脚本文件,例如log_search.bat
  2. 在脚本文件中添加以下代码:
代码语言:txt
复制
@echo off
setlocal enabledelayedexpansion

set search_string=filename.found
set output_file=output.txt

for /r %%i in (*.log) do (
    findstr /C:"%search_string%" "%%i" > nul
    if !errorlevel! equ 0 (
        echo %%i >> %output_file%
    )
)

echo "Search completed. Output file generated: %output_file%"
  1. 解释代码:
  • @echo off:关闭命令行窗口中的命令回显。
  • setlocal enabledelayedexpansion:启用延迟变量扩展,以便在循环中使用!来访问变量。
  • set search_string=filename.found:设置要搜索的字符串。
  • set output_file=output.txt:设置输出文件的名称。
  • for /r %%i in (*.log) do (...):遍历当前目录及其子目录中的所有.log文件。
  • findstr /C:"%search_string%" "%%i" > nul:在当前日志文件中搜索指定的字符串,> nul用于将输出重定向到空设备,只检查错误级别。
  • if !errorlevel! equ 0 (...):如果找到了指定的字符串,则执行以下操作。
  • echo %%i >> %output_file%:将包含指定字符串的日志文件名追加到输出文件中。
  • echo "Search completed. Output file generated: %output_file%":显示搜索完成的消息,并指示生成的输出文件。
  1. 保存脚本文件。
  2. 将脚本文件放置在要遍历的目录中。
  3. 双击运行脚本文件,它将遍历目录中的所有日志文件,并在找到指定字符串时将包含该字符串的日志文件名写入输出文件output.txt中。

请注意,这只是一个简单的示例脚本,可能需要根据实际需求进行修改和优化。此外,腾讯云提供了一系列云计算相关产品,如云服务器、对象存储、云数据库等,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Jenkins CI 自动构建与 C-STAT 代码

注意下次运行代码分析,如果自上次分析以来对源代码文件进行了任何更改,则必须首先清除数据库,以避免由于数据库文件新旧数据混合而引起问题。...要生成报告,我们可以使用 IAR 提供 IREPORT 工具,您可以在同一安装目录中找到该工具。...现在我们知道了用于分析、清理、生成报告文件命令。使用这些命令,我们可以轻松地编写批处理脚本文件 (.bat) 文件,然后在 Jenkins 调用此批处理文件,作为预构建命令执行步骤。...但是我们可以使用以下自定义脚本来实现此目的。 我们可以获得包含低、、高问题计数分析结果 HTML 报告。这些值以格式 data: [0-9, 0-9 ,0-9] 在 HTML 结果文件展现。...请参阅下面的脚本,了解我是如何一个变量获取这些值,然后用 sea t 阈值进行验证。 ? Jenkins 构建结果 下面是 Jenkins CI 构建日志,供您参考。

1.2K30

深入了解命令提示符(CMD):Windows强大命令行工具

默认情况下,命令提示符是一个字符串,通常是当前目录路径,后面跟着一个大于符号(>)或者是当前目录驱动器和冒号(例如,C:>)。...这些命令提供了基本目录文件管理功能,可以用于创建、删除、重命名、复制、移动和查看目录文件信息。使用这些命令,请注意当前所在目录以及命令语法和参数正确使用。...你可以创建一个文本文件,将这些命令按照需要顺序编写文件,并将文件保存为扩展名为 .bat 或 .cmd 批处理文件。...以下是批处理文件和脚本编写一般步骤: 打开文本编辑器:使用任何文本编辑器(如记事本、Notepad++、Sublime Text 等)打开一个文件,该文件将成为批处理文件内容。...批处理作业通常用于定期执行重复性任务,如数据处理、报表生成、系统维护等。 批处理语言:批处理语言是一种用于编写批处理脚本编程语言。

15.6K17
  • 40 个简单又有效 Linux Shell 脚本示例

    这里参数存储在 “$@” ,脚本使用 Linuxcut 命令获取它们。 16、连接字符串 字符串处理对于广泛现代 bash 脚本来说非常重要。...但在这里,我们使用了一个名为 Add 函数来完成这项工作。因此,每当您需要再次添加,只需调用此函数,而不必再次编写该部分。...34、添加批处理扩展 下面的示例将对目录所有文件应用自定义扩展名。创建一个目录,并将一些文件放在其中以供演示。我文件夹共有五个文件,每个文件名为 test,后跟(0-4)。...36、清理日志文件一个简单示例演示了在现实生活中使用 shell 脚本简便方法。该程序只需删除 / var/log 目录所有日志文件。您可以更改保存此目录变量以清理其他日志。 #!...39、从文件删除重复行 文件处理需要相当长时间,并在许多方面阻碍了管理员工作效率。例如,在文件搜索重复项可能会成为一项艰巨任务。

    29010

    shell语法学习

    这里参数存储在 “$@” ,脚本使用 Linuxcut 命令获取它们。 16.连接字符串 字符串处理对于广泛现代 bash 脚本来说非常重要。...但在这里,我们使用了一个名为 Add 函数来完成这项工作。因此,每当您需要再次添加,只需调用此函数,而不必再次编写该部分。...34.添加批处理扩展 下面的示例将对目录所有文件应用自定义扩展名。创建一个目录,并将一些文件放在其中以供演示。我文件夹共有五个文件,每个文件名为 test,后跟(0-4)。...36.清理日志文件一个简单示例演示了在现实生活中使用 shell 脚本简便方法。该程序只需删除 / var/log 目录所有日志文件。您可以更改保存此目录变量以清理其他日志。 #!...39.从文件删除重复行 文件处理需要相当长时间,并在许多方面阻碍了管理员工作效率。例如,在文件搜索重复项可能会成为一项艰巨任务。

    1.2K40

    Docker踩坑,又涨知识了

    背景 新上线一个批处理功能,基于Docker发布。上线之后出现一个问题,Docker批处理生成文件目录,别的应用程序无法访问。 之前也在使用Docker,但并未涉及到文件共享问题,还真没留意到。...涉及知识点:Docker help命令、Linux用户/组id查看、Docker用户指定、Docker启动失败日志查看等 现象分析 Docker运行项目定时创建文件目录并进行文件生成等操作,但当其他应用程序来操作...Docker应用生成目录,会提示“Permission denied”错误。...排查启动失败用到了查看Docker失败日志命令: docker logs 97069f94437b 此时,或将原来日志备份,让系统重新生成日志文件,或直接修改日志文件权限为testuser即可。...至此,关于Docker生成目录权限问题解决完毕。 小结 其实,导致上面问题原因很小,就是漏了一个参数事。但不经一事,不长一智。可能很多朋友在使用Docker过程可能都没留意到这一问题。

    33120

    硬核项目 KV 存储,轻松拿捏面试官!

    如果批处理失败,批处理所有写入操作将被丢弃。 即一个批处理操作所有写入操作要么全部成功,要么全部失败。...启动速度受数据量影响 数据库启动,会加载所有的数据,并且会重放所有的操作,以此来构建内存索引,如果数据量较大,这个过程可能会非常漫长 磁盘上产生了无效数据,如何清理 实现了 Bitcask 论文中提到...写操作是如何保证原子性 采用了预写日志方式,和其他大多数系统一样,WAL 通常是保证事务原子性和持久性关键,在 Bitcask 存储模型,比较特殊是 WAL 文件本身就是数据文件,所以天然可以保证原子性...key+索引文件,它不存储 Value,相较于原始文件容量会小很多,这样重启加载时候,直接加载这个 Hint 文件 追问 1:Hint 文件是在什么时候生成呢 Merge 时候生成,Merge...实际上所有的数据都是有效,这个时候只需要依次存储对应 key 和索引数据 追问 2:Hint 文件格式是什么 和数据文件是一样,都采用了日志追加方式 持久化策略优化 在最开始设计

    80720

    云服务器怎么清理IIS日志教程

    不过哪种方法都得采用技术处理,人工去删除的话除非你很专业,可以查找60天前日志文件来删除,不过即便你技术很好,这种方法也是很费时,最好方法是:使用DOS批处理或脚本来实现,可使用到脚本主要是vbs...,我们再使用del/s/fd:iislogex070916.log来清除日志所在文件目录及子目录所有这个文件文件了,从而清除志,但这个仅仅是清除一天日志,所以我们还得把这个批处理加到计划任务里...IIS日志清理VBS版实现用VBS遍历IIS日志所在目录所有文件,及文件夹,然后取文件名组合成日期型,然后当前日期-这个日期,看看是不是超过了设定天数,超过的话delete,这种思路有个好处就是一次可以清除...IIS日志清理JS版:这个版其实与IIS日志清理VBS版差不了多少,思路都是一样,只是使用脚本语言不一样而已,还有就是调用时两个参数里一个参数:目录,这个目录得写成:D:\iislog,以前都用...IIS日志清理WSH版:WSH版其实是最简单,因为他集成化程度很高,操作过程是这样:使用vbs或js生成要处理文件文件名,然后再使用WScript.Shell执行cmd命令来处理,利用了IIS

    4.8K20

    自动化篇 | 这些自动化场景,批处理脚本完全可以取代 Python!

    批处理基础 新建批处理脚本很简单,只需要新建一个文本文件,然后修改编码方式为:ANSI 编码,接着编写脚本逻辑代码,最后保存文件以 .bat 结尾即可 ?...,一般放在批处理文件第一行 echo 日志参数:用于在控制台输出日志,偏于理解脚本执行逻辑 ::/rem 注释内容:注释内命令 title/color:设置窗体标题和背景颜色 cd:切换目录 md:...创建目录 dir:显示文件内容 rd:删除一个目录 del 删除模式 文件:删除文件。...*%%~xi %%~xi) pause 你没看错,只需要 4 行代码 其中, for 用于遍历当前文件夹,遍历结果用 do 分别去执行后面的命令 %%~xi 是截取 %%i 扩展名,使用 md 命令新建一个文件夹...move 作用是:将源文件移动到新文件 2、删除当前目录(包含子目录)下所有的 build 文件夹 使用 Android Studio 编译后,如果项目存在多个 Module,可能会存在多个

    1K10

    安全工具 | PowerSploit使用介绍

    我们先下载PowerView.ps1本到本地,然后在当前目录下打开cmd,执行以下命令执行PowerView.ps1Get-NetDomain模块,如果要执行该脚本其他模块,亦是如此 powershell...PowerUp.ps1使用 PowerUp.ps1本是 Privsec 目录一个脚本,功能非常强大。拥有很多用来寻找目标主机Windows服务配置错误来进行提权模块。...Get-Webconfig 该模块用于返回当前服务器上web.config文件数据库连接字符串明文 Get-ApplicationHost...模块提权 (该模块利用了Windows一个逻辑漏洞,即当文件包含空格,WindowsAPI会解释为两个路径,并将这两个文件同时执行,这个漏洞在有些时候会造成权限提升)。...Invoke-NinjaCopy.ps1使用 该脚本在Exfiltration目录下,该文件作用是复制一些系统无法复制文件,比如sam文件

    5.4K20

    工具使用|PowerSploit脚本用法

    我们先下载PowerView.ps1本到本地,然后在当前目录下打开cmd,执行以下命令执行PowerView.ps1Get-NetDomain模块,如果要执行该脚本其他模块,亦是如此 powershell...Invoke-UserEventHunter #根据用户日志获取某域用户登陆过哪些域机器 PowerUp.ps1使用 PowerUp.ps1本是 Privsec 目录一个脚本,功能非常强大...Get-Webconfig 该模块用于返回当前服务器上web.config文件数据库连接字符串明文 Get-ApplicationHost...模块提权 (该模块利用了Windows一个逻辑漏洞,即当文件包含空格,WindowsAPI会解释为两个路径,并将这两个文件同时执行,这个漏洞在有些时候会造成权限提升)。...Invoke-NinjaCopy.ps1使用 该脚本在Exfiltration目录下,该文件作用是复制一些系统无法复制文件,比如sam文件

    1.6K10

    PDMS PipelineTool 0.8.1版发布

    更新说明 0.8.1版升级优化内容 修复了材料描述带有单引号或者双引号导出MTO报错问题,目前可以正常显示单引号或双引号; 增强了部分模块报错处理功能,增加了错误代码、错误详细信息和附加信息显示...,便于快速定位BUG位置,以便排查原因,软件报错信息会同时记录在日志文件,便于追溯。...功能简介 实现基础功能 目录树特定类型对象添加到列表控件和删除 选择列表节点对象并在目录定位 PIPE、BRAN、COMPONMENT三级树形结构遍历、节点类型判断、属性值读取和写入 通过txt...文件另存和读取管线列表,实现工作对象范围存储功能; 通过log文件记录错误和提示信息,实现日志功能; 通过xml文件加载和存储参数信息,实现用户差异化设置功能; 如果xml配置文件丢失或者被破坏,可以一键重置...; 在材料表计算增加Material Control属性值判断,让对该属性在汇料发挥作用,设置为DOTD值材料不会汇料; 改进对FTUBE类型材料处理计算方法,找到了按长度和件数两种方式计算FTUBE

    43210

    红队战术-躲避日志检查

    用户可以通过它来检查错误发生原因,或者寻找受到攻击攻击者留下痕迹。...实操 1.使用Wevtutil命令清除事件日志 Wevtutil是一个系统工具,可以查找事件日志和发布者详细信息,也可以使用此命令来安装和卸载事件清单,导出,归档和清除日志,是一个及其好用系统日志管理工具...权限:管理员权限 命令:wevtutil cl 日志类型 比如这里我去清除安全日志: wevtutil cl security 就清除了安全日志,完全可以做成一个批处理程序,来批量清楚日志。...这个也可以完全写成ps1本,你直接把你要清除日志命令写到ps1本里面就行,用法和批处理脚本一样。...3.Phantom 该脚本遍历事件日志服务进程(特定于svchost.exe)线程堆栈,并标识事件日志线程以杀死事件日志服务线程,因此,系统将无法收集日志,同时,事件日志服务也正在运行。

    95820

    文件文件夹操作,学会这八个方法就够了,必须收藏备用

    01遍历文件夹     我们要对文件进行处理,不可避免问题就是在一个文件中找到自己需要处理文件,这就需要我们对文件文件进行遍历。...) # 包含文件名称[列表形式]    print('-' * 10)     当手上需求明确有获取给定路径各级文件夹下所有符合条件文件,并进行相应批处理操作,即可使用 os.walk 02获取路径文件名...,不管是存储过程数据,还是存储日志记录都需要遇到。...\new.txt')     需要注意是,上面代码效果是剪切效果。另外python‘.\’代表着脚本所在的当前目录。 08复制文件     那如果我们需要完成复制文件操作应该怎么做呢?...结束语     好了,以上就是我为大家整理八个常用文件或者文件夹操作,大部分都是可以通用,大家可以收藏本文,并在需要进行相关操作时候可以直接复制粘贴使用。

    1.1K30

    Apache Hudi | 统一批和近实时分析增量处理框架

    由于两种模式提供状态差异,我们需要为批处理和流处理提供不同服务层,并在这个上面再做合并抽象,或者设计应用一个相当复杂服务系统(如Druid),用于同时在行级更新和批量加载中提供优异表现。...在根目录下,每个分区都有唯一分区路径。每个分区记录分布于多个文件。每个文件都有惟一fileId和生成文件commit所标识。...Hudi在针对一个fileId进行更新操作,如果对应日志文件存在则append,反之,会新建日志文件。...以下列出两个重要区别: 摄取失败可能在日志文件生成包含部分数据avro块 - 这个问题通过在commit元数据存储对应数据块起始偏移量和日志文件本来解决。...当读取日志文件,偶尔发生部分写入数据块会被跳过,且会从正确位置开始读取avro文件

    2.9K41

    shell(二)

    :bash case_test.sh [ start | stop | restart ] 1.1.3for循环语句 需求:循环遍历当前文件夹下文件。...2.将 .pub公钥文件复制到对端机器目录,并改名为 authorized_keys,文件路径展示: /root/.ssh/authorized_keys 3.在对端机器,编辑 ssh配置文件:...5.生产脚本 5.1大型脚本编写 一般脚本大家都会写了,那么对于线上服务器大型脚本是如何实现呢?我们先来看一下流程: 1.编写脚本框架。...3.完善功能(增加日志功能;增加锁文件功能;增加主函数逻辑;增加参数安全措施)。 下面是编写一个简单脚本框架,大家可以仿照书写: #!...5.2.2复杂脚本编写 手工执行命令一定要可执行。 根据发布流程编写脚本框架。 将手工执行命令填充到对应框架函数内部。 增加日志功能,方便跟踪脚本历史执行记录。 主函数逻辑流程控制好。

    96620

    Dive into Delta Lake | Delta Lake 尝鲜

    每次写入都是一个事务,并且在事务日志记录了写入序列顺序。 事务日志跟踪文件级别的写入并使用乐观并发控制,这非常适合数据湖,因为多次写入/修改相同文件很少发生。...这使得 Delta Lake 能够在固定时间内列出大型目录文件,并且在读取数据非常高效。 数据版本 Delta Lake 允许用户读取表或目录之前快照。...当用户想要读取旧版本表或目录,他们可以在 Apache Spark 读取 API 中提供时间戳或版本号,Delta Lake 根据事务日志信息构建该时间戳或版本完整快照。...这允许用户重现之前数据,并在需要将表还原为旧版本数据。...Validate and commit: 调用 commit 方法,生成 commit 信息,生成一个递增1文件,如果相同文件名已经存在,则报 ConcurrentModificationException

    1.1K10

    Windows Java Usage Tracker本地提权漏洞分析

    每次,在Tomcat服务启动,都会向该日志文件写入新跟踪信息。 下图是跟踪数据示例,请注意这里是如何使用逗号分隔两个不同值,是在属性文件(分隔符配置)定义。 ?...当我们执行批处理文件global_javatracker.bat,会显示错误消息“VM start”无法识别。...2、创建脚本文件,尽管我们在示例创建了批处理文件,但实际上也可用于创建其他类型文件。 3、注入任意命令(或与脚本文件相关任何其他文本)。...攻击者可以在系统任意位置执行或创建上述内容,或可编写脚本文件。但是,如果攻击者想要成功利用这个漏洞做一些事情,还需要两个条件: 1、需要在关键位置(比如:自动启动脚本)创建恶意文件。...创建Java Usage Tracker日志文件 如果保存到全局配置路径(例如Windows%ProgramData%\Oracle\Java),在系统启动JVM,就会读取Java Usage Tracker

    96620

    Windows Java Usage Tracker本地提权漏洞分析(CVE-2018-3211)

    每次,在Tomcat服务启动,都会向该日志文件写入新跟踪信息。 下图是跟踪数据示例,请注意这里是如何使用逗号分隔两个不同值,是在属性文件(分隔符配置)定义。 ?...当我们执行批处理文件global_javatracker.bat,会显示错误消息“VM start”无法识别。...2、创建脚本文件,尽管我们在示例创建了批处理文件,但实际上也可用于创建其他类型文件。 3、注入任意命令(或与脚本文件相关任何其他文本)。...攻击者可以在系统任意位置执行或创建上述内容,或可编写脚本文件。但是,如果攻击者想要成功利用这个漏洞做一些事情,还需要两个条件: 1、需要在关键位置(比如:自动启动脚本)创建恶意文件。...创建Java Usage Tracker日志文件 如果保存到全局配置路径(例如Windows%ProgramData%\Oracle\Java),在系统启动JVM,就会读取Java Usage Tracker

    1.3K20

    LoadRunner-总结(一)

    LoadRunner-总结(一) 目录 1、脚本常用函数 2、脚本断言方法 3、批处理执行脚本 4、用函数生成订单编号 1、脚本常用函数 web_url() 模拟用户请求,基本语法如下所示: web_url...("在测试结果显示名称","URL=需要访问超链地址",LAST); web_link() 模拟用户单击一个超链接操作。...}"); 从参数取得对应值,并且转化成一个字符串 lr_save_string() 将一个字符串保存为一个参数 lr_save_string("https://www.baidu.com","website...编写批处理文件并结合windows自带任务计划执行脚本 (1)在记事本写入命令,指定bin和要执行scenario路径: cls SET M_ROOT="C:\Program Files\...(3)将控制面板-->管理工具-->服务Task Schedule启动。 (4)进入控制面板-->任务计划,添加一个定时任务,通过浏览方式,添加刚才批处理文件,并指定执行时间即可。

    40720
    领券