本人大菜一个,批处理代码虽然极其简单,但我也很辛苦的研究了很久~~
以下代码可对一般的在磁盘根目录建立一个无法删除autorun.inf免疫方法起到反免疫的作用,希望有高手帮我精简一下,可能有点复杂了,谢谢~
@echo off
set AllDrive=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%AllDrive%) do (
attrib %%a:\autorun.inf -s -r -h
dir %%a:\autorun.inf /b >>c:\auto.txt
for /f "tokens=*" %%i in (c:\auto.txt) do (
rd %%a:\autorun.inf\"%%i".\
rd %%a:\autorun.inf
)
For %%a In (c d e f g h i j k l m n o p q r s t u v w x y z) Do Del /a /f /q %%a:\autorun.inf>nul 2>nul & echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:F>nul 2>nul & rd /s /q %%a:\autorun.inf\ >nul 2>nul & md "%%a:\autorun.inf\U盘病毒免疫...\">nul 2>nul & attrib +s +h +r %%a:\autorun.inf >nul 2>nul& echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul作者: putao 时间: 2007-11-5 23:31 标题: 学习了
Quote:
Originally posted by afeichai at 2007-11-5 11:03 PM:
好像是深山红叶的,具体的我忘记了。可以加NTFS权限的
For %%a In (c d e f g h i j k l m n o p q r s t u v w x y z) Do Del /a /f /q %%a:\autorun.inf>nul 2>nul & echo ...
for /f "delims=驱动器A:\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
del /f /q /a: %%i:\autorun.inf
rd /s /q %%i:\autorun.inf
md %%i:\autorun.inf\系统修复工具!QQ276365857....\
)作者: wert123 时间: 2007-11-8 15:10 @echo off
cls
echo 按 S 键删除Autorun.inf并进行免疫
echo.
echo 按 D 键删除免疫程序
echo.
echo 按其他任意键退出
echo.
echo.
SET Choice=
SET /P Choice= 请选择要进行的操作:
IF /I '%Choice:~0,1%'=='s' GOTO setup
IF /I '%Choice:~0,1%'=='d' GOTO Delset
IF /I '%Choice:~0,1%'=='q' GOTO Exit
exit
:Setup
taskkill /im explorer.exe /f
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(
if exist %%a: (
rd %%a:\autorun.inf /s /q
del %%a:\autorun.inf /f /q
mkdir %%a:\autorun.inf
mkdir %%a:\autorun.inf\"病毒免疫勿删除../"
attrib +h +r +s %%a:\autorun.inf
)
)
start explorer.exe
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul (
>1.vbs echo msgbox^ "%%a:免疫成功",64,"提示:"
1.vbs
)
)
del 1.vbs
echo.
echo.
echo 按任意键退出...
pause>nul
exit
:delset
For %%a In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do @(
If Exist %%a: (
rd %%a:\autorun.inf /s /q
)
)
echo.
echo.
echo 操作完毕,按任意键退出...
pause>nul
exit
==============================================================
上面的这句话
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul (
>1.vbs echo msgbox^ "%%a:免疫成功",64,"提示:"
1.vbs
)
)
中的if exist %%a:\nul 怎么整出个nul,有nul就免疫成功,这里的nul是什么意思,不是空的意思么