如果在文本文件中找到字符串,则用于终止进程的批处理脚本
Batch script to kill process if string is found in text file
我有一个将日志写入 acc.txt
文件的进程,当在该 .txt
文件中找到某个字符串时,我试图重新启动该进程。一旦找到字符串并与我要查找的内容匹配,acc.txt
内容应该被清除并且进程必须被终止。
更新:错误已修复,请参阅下面的解决方案。
您可以使用 findstr
和 taskkill
命令,例如:
@echo off
pushd %~dp0
:loop
find "Error8902" acc.txt >nul 2>&1 && goto :stringFound
echo String not found
timeout /nobreak 1 >nul & :: Interval between scanning
goto :loop
:stringFound
echo String found, killing process
taskkill /f /t /im process.exe
del /F acc.txt
pause
我有一个将日志写入 acc.txt
文件的进程,当在该 .txt
文件中找到某个字符串时,我试图重新启动该进程。一旦找到字符串并与我要查找的内容匹配,acc.txt
内容应该被清除并且进程必须被终止。
更新:错误已修复,请参阅下面的解决方案。
您可以使用 findstr
和 taskkill
命令,例如:
@echo off
pushd %~dp0
:loop
find "Error8902" acc.txt >nul 2>&1 && goto :stringFound
echo String not found
timeout /nobreak 1 >nul & :: Interval between scanning
goto :loop
:stringFound
echo String found, killing process
taskkill /f /t /im process.exe
del /F acc.txt
pause