可疑文件的批处理最好能用循环来写主体部分

今天找了两篇原来保存的但是没正经看的讲批处理的帖子,虽然讲得比较粗,例子也很简单,但还是小有收获。计划中查可疑文件的批处理最好能用循环来写主体部分,因为涉及到比较多的文件路径和文件名,直接手工写BAT的话太费劲。而for循环正好可以在一定程度上满足需求,所以对for循环的用法重点看了看,虽然还不太懂,但是试着写了几行代码,效果还可以。
    实验中涉及到4个文件:list.txt,pre.bat,check.bat,check.log。
    首先,要有list.txt,这个文件记录了所有可疑文件,每行写一个。这个需要手工写,但是只需要写文件路径和文件名,回车换行再写下一个即可,工作量说大也不大,说小也不小。形如:
……
%systemroot%\explorer.exe
%systemroot%\system32\rundll32.exe
……
    第二,pre.bat,这是个预处理,是用来生成check.bat这个批处理的。其中使用了for循环,从list.txt中按行读出文件名,替换变量后写入到check.bat当中。这里面使用最多的是echo。在含有输出重定向的操作(包括for循环)中,因为写入check.bat的内容中又含有写入check.log的操作,所以这里使用了双引号,用以屏蔽掉其中一个输出重定向操作。这里就有了一个问题:本来写入check.bat中的命令带了双引号,失去了“命令”的作用而成了“字符串”,所以生成check.bat后还要手工删掉其中所有的双引号。这个不知道能不能用批处理来实现,我目前没有找到什么方法。pre.bat的内容如下:
@echo off
echo @echo off>> check.bat
echo echo BATCH STARTS...>> check.bat
echo echo PRESS ANY KEY TO START THE BATCH...>> check.bat
echo pause>> check.bat
echo "date /t>> check.log">> check.bat
echo "time /t>> check.log">> check.bat
echo "echo -------START------>> check.log">> check.bat
::以上均向check.bat中写入提示文字及命令。
for /F %%i in (list.txt) do echo "if exist %%i echo %%i & echo %%i>> check.log">> check.bat
::FOR循环,从list.txt中读取文件名,
::IF判断若存在文件则显示文件名并将其写入check.log中。
echo "echo -------END------>> check.log">>check.bat
echo echo BATCH ENDS!>> check.bat
echo echo PRESS ANY KEY TO EXIT...>> check.bat
echo pause>> check.bat
pause
    第三,check.bat,这是真正用来检查可疑文件的,也是4个文件中最长的一个,由pre.bat生成之后,手工删除了其中所有的双引号(使用了记事本的替换功能,其实也很方便,完全没有什么工作量)。执行时,若存在可疑文件,则显示并写入记录文件check.log中。该文件内容形如:
@echo off
echo BATCH STARTS...
echo PRESS ANY KEY TO START THE BATCH...
pause
date /t>> check.log
time /t>> check.log
echo -------START------>> check.log
……
if exist %systemroot%\explorer.exe echo %systemroot%\explorer.exe & echo %systemroot%\explorer.exe>> check.log
if exist %systemroot%\system32\rundll32.exe echo %systemroot%\system32\rundll32.exe & echo %systemroot%\system32\rundll32.exe>> check.log
……
echo -------END------>> check.log
echo BATCH ENDS!
echo PRESS ANY KEY TO EXIT...
pause
    第四,记录文件check.log,由check.bat生成,记录检查结果。形如:
2007-01-15
20:18
-------START------
……
C:\WINDOWS\explorer.exe
C:\WINDOWS\system32\rundll32.exe
……
-------END------

现在剩下的问题就是写list.txt了,具体有多少我没有统计,不过一天应该可以写完,明天可能王经理结账要来公司找我,如果没别的特殊情况的话,明天可以写完,差不多可以将1.0版发给同事和小郭了。

(0)

相关推荐

  • 可疑文件的批处理最好能用循环来写主体部分

    今天找了两篇原来保存的但是没正经看的讲批处理的帖子,虽然讲得比较粗,例子也很简单,但还是小有收获.计划中查可疑文件的批处理最好能用循环来写主体部分,因为涉及到比较多的文件路径和文件名,直接手工写BAT的话太费劲.而for循环正好可以在一定程度上满足需求,所以对for循环的用法重点看了看,虽然还不太懂,但是试着写了几行代码,效果还可以.     实验中涉及到4个文件:list.txt,pre.bat,check.bat,check.log.     首先,要有list.txt,这个文件记录了所有可

  • c# 服务器上传木马监控代码(包含可疑文件)

    复制代码 代码如下: using System; using System.IO; using System.Threading; using System.Windows.Forms; using System.Net; namespace TrojanMonitor { public partial class Form1 : Form { public Form1() { InitializeComponent(); } delegate void SetTextCallback(stri

  • 利用Node.js如何实现文件循环覆写

    前言 这次编写Node.js项目的时候用到了日志模块,其中碰到了一个小问题. 这是一个定时执行可配置自动化任务的项目,所以输出信息会不断增加,也就意味着日志文件会随时间不断增大.如果对日志文件大小不加以控制,那么服务器的磁盘迟早会被撑满.所以限制文件大小是有必要的. 最理想的控制方式就是当文件大小超过限制时,清除最先记录的数据.类似一个FIFO的队列. # 删除前面的数据 - 1 xxx ...... 100 abc # 文件末尾追加数据 + 101 xxxx log4js的file rolli

  • Windows批量搜索并复制/剪切文件的批处理程序实例

    搜索包含关键字的文件名是最常用的功能之一,比如按人名搜索mp3.按内容搜索图纸等等,当需要搜索成百上千个关键词时,会消耗大量的人力和时间,这时就需要批量搜索功能.本文介绍一个我自己编写的.用于批量搜索文件的批处理程序. 搜索包含关键字的文件名是最常用的功能之一,比如按人名搜索mp3.按内容搜索图纸等等,当需要搜索成百上千个关键词时,会消耗大量的人力和时间,这时就需要批量搜索功能. 传统方法 Windows XP自带了批量搜索的功能,在按(Win+F)弹出的搜索框中,填入若干关键词,用逗号隔开,这

  • 修改ini文件的批处理与vbs代码

    批处理代码: @echo off >tmp.ini for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" 文件位置') do ( if "%%j"=="" (echo.>>tmp.ini) else ( echo %%j|find "被替换内容">nul&&( call set tp=%%j&call ech

  • 查找最新的文件的批处理bat文件

    复制代码 代码如下: rem  文件更新列表批处理 cls title         YIPINGSOFT CopyRight2006             rem "==================================================" For /r  %%i in (.) DO   del %%i\最新文件目录.txt  del 备查目录.txt del 完整目录.txt set homes=%date%     date/t >>完

  • 清除系统垃圾文件的批处理(无错增强版)

    "清除系统垃圾.bat","clear.bat","一键清除系统垃圾.bat","30秒清除系统垃圾.bat","快速清除系统垃圾.bat" 基本上找到的者是一个文件, 但这里面也有很多不足或需要改进的地方,但大多数人看不懂DOS命令,所以被改的机会会很少,下面是我所发现的问题及其改进,可以说是比较完美的版本了. 从网上找的,修改了一行,以解决ASP+ACCESS错误:"Microsoft JET

  • 清理Windows服务器的垃圾文件的批处理

    复制代码 代码如下: @echo off echo 正在清理系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /

  • c# 可疑文件扫描代码(找到木马)(简)

    复制代码 代码如下: using System; using System.IO; using System.Text.RegularExpressions; using System.Threading; using System.Windows.Forms; using System.Net; namespace TrojanScanning { public partial class Form1 : Form { public Form1() { InitializeComponent(

  • Python文件夹批处理操作代码实例

    如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件 #场景1 读取一个文件夹中所有文件,存入到一个list表中 #coding:utf-8 from __future__ import absolute_import from __future__ import division from __future__ import print_function import numpy as np import os import sys import math impo

随机推荐