DOS批处理检测文件大小

1年前 4221次浏览

首先介绍一下这段脚本的用处,我是用来检测电脑中某一个文件的大小是否我给定的大小,如果不是就从备份文件夹还原这个文件。

为什么写这个批处理呢?因为有个关系不是很好的朋友的服务器成肉鸡了,首页经常被改了,因为服务器上网站有点多,去找这个后门文件放在哪里他也找不到,网站首页隔个一两天就被改了,搞得他很是恼火。

因为关系并不是很好,要给他服务器全面处理一次可不是几块钱交情能解决的,于是乎就有了这段代码。只能是通过计划任务几分钟或半个小时检测一次,如果被改了就给他恢复过去。

下面上这段批处理:有不少学习知识点。放着供以后再学学。

@echo OFF
setlocal enabledelayedexpansion
@set now=时间%date% %time%
@set "log=d:autorebacklog.txt"
@set "ml=www.***.com"
cd d:wwwroot\%ml%
@set "f1=index.php"
@set "f1size=243"
@set "f1n=D:akfile\%ml%index.php"
if exist %f1% (
	for /f "delims=" %%i in ('dir /a-d /b %f1%') do (
		if %%~zi NEQ %f1size% (
			echo %now% %f1%被修改了尝试删除并重建(%ml%)%%~zi>>%log%
			copy %f1n% %f1% /y
			echo %now% %f1%重建完成( %ml%)>>%log%
		) else (
			echo %now% %f1%未被修改不用操作(%ml%)%%~zi>>%log%
		)
	)
) else (
	copy %f1n% %f1% /y
	echo %now% %f1%没有找到文件立即重建(%ml%)>>%log%
)

代码也简单:就是定义好要监控的文件在哪里,再给一个原始大小,去检测一下目标文件大小是否和我们设置的大小一致,如果不一致就把之前备份的文件复制过去。

相关评论
暂无相关评论...
发表评论
评论说明:

1、评论暂仅只持纯文字评论。

2、请不要发表与内容无关的评论。

3、评论需要经由审核才能显示出来。

4、评论姓名与链接无要求,只要评论内容符合便可审核通过。