当前位置:DOS资源站资料中心批处理教程 → 全盘查找新建文件

全盘查找新建文件

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-15 22:31:11

@ echo off
mode con cols=70 lines=8
color a
title 查看文件增删情况
echo.
echo   ****************************************************************
echo   ** 保存目前全盘文件名称,一段时间后再运行,可以找出新建文件    **
echo   ** 以找出你认为是病毒的文件                                   **                     
echo   **              code by--WANK-OILZ                            **
echo   ****************************************************************
echo                    press  to  start
pause >nul
cls
echo   ****************************************************************
echo           请选择:1...保存目前全盘文件 2...判断文件增删情况
echo   ****************************************************************
set /p xuanze=  请选择:
if "%xuanze%"=="2" goto :bijiao
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('fsutil fsinfo drives ^| find /v ""') do (
set var1=%%i&set var=!var1:~-3!
cls
echo.
echo   ****************************************************************
echo               正在初始化!var:~0,1!盘,请稍等.............
echo   ****************************************************************
for /f "tokens=*" %%j in ('dir /a-d/s/b  !var!') do (echo %%~fsj >>!date!.txt
set /a num=!num!+1
cls
echo      正在保存!var:~0,1!盘文件..
echo   ***************************************************************
echo      正在输出:%%j                                          
echo      已经输出第!num!个文件                                    
echo   ***************************************************************))
cls
echo.
echo    ***************************************************************
echo              所有!num!个文件都已经输入到%data%.txt中                  
echo                     press   to  继续                             
echo    ***************************************************************
pause >nul
goto :end

:bijiao
cls
echo    ***************************************************************
echo            请输入要比较的较早的一个文件名(不包含扩展名):
echo    ***************************************************************
set /p file1=输入:
cls
echo    ***************************************************************
echo            请输入要比较的较晚的一个文件名(不包含扩展名):
echo    ***************************************************************
set /p file2=输入:
if not exist "%file1%.txt" echo 输入的文件名错误,或者根本不存在"%file1%"&&ping 127.1 -n 2>nulo&&goto :bijiao
if not exist "%file2%.txt" echo 输入的文件名错误,或者根本不存在"%file2%"&&ping 127.1 -n 2>nul&&goto :bijiao
for /f "usebackq tokens=*" %%i in ("%file1%.txt") do (
cls
echo    ***************************************************************
echo                 正在处理.......
echo    ***************************************************************
findstr /x/c:"%%i" "%file2%.txt" >nul 2>nul||echo %%i >>"%file1%到%file2%删除的文件.txt")
for /f "usebackq tokens=*" %%i in ("%file2%.txt") do (
cls
echo    ***************************************************************
echo                 正在处理.......
echo    ***************************************************************
findstr /x/c:"%%i" "%file1%.txt" >nul 2>nul||echo %%i >>"%file1%到%file2%新增的文件.txt")
cls
echo    ***************************************************************
echo                处理完成,结果在当前目录下..
echo    ***************************************************************   
set /p choose=是否要选择性的删除新建文件(y/n)
if "%choose%"=="y" (for /f "usebackq tokens=*" %%i in ("%file1%到%file2%新增的文件.txt") do (set /p choose1=是否要删除文件%%i(y/n)
if not "!choose1!"=="y" goto :next
del "%%i"
cls
echo.
echo    ****************************************************************
echo       已经删除文件%%i                                         
echo    ****************************************************************
ping 127.1 -n 1>nul
:next
echo. >nul))

end:
cls
echo    ****************************************************************
echo                   任务完成,按任意键退出..
echo    ****************************************************************
pause >nul