在 Windows 下暂时无法正确判断 A 盘(软磁盘) 和在 WinPE 中判断内存盘(只读, 不可写, 感觉就像光盘, 但其属性又似硬盘)无效, 请高手帮助修改一下, 不胜感激!
#Cs____________________________________
脚本功能: 试图在指定磁盘分区根目录创建 NTFS 文件系统分区无法访问/FAT(32)文件系统无法正常删除的 AutoRun.Inf 防毒文件夹
#Ce ____________________________________
;脚本开始 - 请在这下面添加您的代码:
$Drv = DriveGetDrive('Fixed')
If Not @Error Then
For $i = 1 to $Drv[0]
; MsgBox(4096,"驱动器 ",StringUpper($Drv[$i]))
If StringInStr(DriveGetType($Drv[$i]),'RAMDisk') Then
TrayTip('您的 '&StringUpper($Drv[$i])&' 盘是内存盘!','您的 '&StringUpper($Drv[$i])&' 盘是内存盘! 不处理...',15,3)
Sleep(3000)
Else
TrayTip('正在处理 '&StringUpper($Drv[$i])&' 盘','正在处理 '&StringUpper($Drv[$i])&' 盘, 请稍候...',15,4)
Sleep(3000)
$Dir = StringUpper($Drv[$i])&'\AutoRun.Inf'
$Desktop = $Dir&'\Desktop.InI'
$Icon = $Dir&'\AutoRun.Ico'
$SubDir = $Dir&"\防毒专用文件夹,请勿删除!"
$NoDel = '"'&$SubDir&'\量你也删不掉我!..\'&'"'
$Command = 'Cacls '&$Dir&' /T /E /P EveryOne:N'
$ComdLine = 'Echo Y|Cacls '&$Dir&' /G EveryOne:F'
If FileExists($Dir) Then RunWait(@ComSpec&' /C '&$ComdLine,'',@Sw_Hide)
DirCreate($Dir)
DirCreate($SubDir)
Run(@ComSpec&' /C Md '&$NoDel,'',@Sw_Hide)
If FileExists($Desktop) Then FileSetAttrib($Desktop,'-RSH')
IniWrite($Desktop,'.ShellClassInfo','InfoTip','阿康说: 这是磁盘分区防毒专用文件夹, 请勿删除!')
IniWrite($Desktop,'.ShellClassInfo','IconFile','AutoRun.Ico')
IniWrite($Desktop,'.ShellClassInfo','IconIndex','0')
If FileExists($Icon) Then FileSetAttrib($Icon,'-RSH')
FileInstall('AutoRun.Dll',$Icon,1)
Run(@ComSpec&' /C '&$Command,'',@Sw_Hide)
FileSetAttrib($Dir,'+RSH',1)
TrayTip('貌似已经搞定...','貌似 '&StringUpper($Drv[$i])&' 盘已经被我搞定...',15,4)
Sleep(3000)
EndIf
Next
EndIf
$Usb = DriveGetDrive('ReMovAble')
If Not @Error Then
For $i = 1 to $Usb[0]
; MsgBox(4096,"驱动器 ",StringUpper($Usb[$i]))
If StringInStr(DriveGetType($Drv[$i]),'RAMDisk') Then
TrayTip('您的 '&StringUpper($Drv[$i])&' 盘是内存盘!','您的 '&StringUpper($Drv[$i])&' 盘是内存盘! 不处理...',15,3)
Sleep(3000)
Else
TrayTip('正在处理 '&StringUpper($Usb[$i])&' 盘','正在处理 '&StringUpper($Usb[$i])&' 盘, 请稍候...',15,4)
Sleep(3000)
$Dir = StringUpper($Usb[$i])&'\AutoRun.Inf'
$Desktop = $Dir&'\Desktop.InI'
$Icon = $Dir&'\AutoRun.Ico'
$SubDir = $Dir&"\防毒专用文件夹,请勿删除!"
$NoDel = '"'&$SubDir&'\量你也删不掉我!..\'&'"'
$Command = 'Cacls '&$Dir&' /T /E /P EveryOne:N'
$ComdLine = 'Echo Y|Cacls '&$Dir&' /G EveryOne:F'
If FileExists($Dir) Then RunWait(@ComSpec&' /C '&$ComdLine,'',@Sw_Hide)
DirCreate($Dir)
DirCreate($SubDir)
Run(@ComSpec&' /C Md '&$NoDel,'',@Sw_Hide)
If FileExists($Desktop) Then FileSetAttrib($Desktop,'-RSH')
IniWrite($Desktop,'.ShellClassInfo','InfoTip','阿康说: 这是磁盘分区防毒专用文件夹, 请勿删除!')
IniWrite($Desktop,'.ShellClassInfo','IconFile','AutoRun.Ico')
IniWrite($Desktop,'.ShellClassInfo','IconIndex','0')
If FileExists($Icon) Then FileSetAttrib($Icon,'-RSH')
FileInstall('AutoRun.Dll',$Icon,1)
Run(@ComSpec&' /C '&$Command,'',@Sw_Hide)
FileSetAttrib($Dir,'+RSH',1)
TrayTip('貌似已经搞定...','貌似 '&StringUpper($Usb[$i])&' 盘已经被我搞定...',15,4)
Sleep(3000)
EndIf
Next
EndIf
TrayTip('全部处理完毕...','貌似全部都让我给搞定了...',15,4)
Sleep(3000)
[ 本帖最后由 ahkang 于 2009-3-23 13:11 编辑 ] |