名稱:簡單U盤修複工具(SURT).hta
前言:近段時間發現同學U盤出問題的頗多,每次都拿到我這來修複。其實也沒什麼大問題,隻是中毒了,U盤根目錄下的所有東西都被改成了“隐藏+系統+隻讀”屬性,自己沒辦法去掉才來找我。每次都用attrib指令改,改得多了自然就煩了,于是做了鄙作,還望莫笑。
功能:可将U盤根目錄下的檔案、檔案夾加上或去除“隐藏+系統+隻讀”屬性,并具删除autorun.inf檔案以避免病毒随磁盤的打開而自動運作的功能,算是一個簡單的U盤修複工具,希望能給您提供些許幫助。
圖:
代碼如下:
<html>
<head>
<title>Simple U-disk Repair Tool</title>
<style>
body,button {
color:#666666;
background-color:#cccccc;
font-size:16px;
}
</style>
<HTA:APPLICATION
ID="Simple U-disk Repair Tool"
APPLICATIONNAME="Simple U-disk Repair Tool"
SCROLL="no"
SINGLEINSTANCE="yes"
WINDOWSTATE="normal"
ShowInTaskBar="yes"
MaximizeButton="no"
MinimizeButton="no"
SCROLL="no"
NAVIGABLE="yes"
BORDER="thin"
ICON="%SystemRoot%/system32/cleanmgr.exe"
>
</head>
<SCRIPT Language="VBScript">
On Error Resume Next
window.resizeTo 360,230
ileft=(window.screen.width-360)/2
itop=(window.screen.height-230)/2
window.moveTo ileft,itop
\'動态顯示盤符
Sub Window_Onload
Dim fso, d, dc
Set fso = CreateObject("Scripting.FileSystemObject")
Set dc = fso.Drives
For Each d in dc
Set objOption = Document.createElement("OPTION")
objOption.Text = d.DriveLetter & ":"
objOption.Value = d.DriveLetter & ":"
DriveList.Add(objOption)
Next
End Sub
Dim nAttr
\'傳回一個 Folder 對象,表示指定驅動器的根檔案夾。
Function ShowRootFolder(drvspec)
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetDrive(drvspec)
ShowRootFolder = f.RootFolder
End Function
\'操作檔案夾
Function ShowFolderList(folderspec,nAttr)
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(ShowRootFolder(folderspec))
Set fc = f.SubFolders
For Each f1 in fc
f1.attributes=nAttr
Next
End Function
\'操作檔案
Function ShowFileList(folderspec,nAttr)
Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(ShowRootFolder(folderspec))
Set fc = f.Files
For Each f1 in fc
f1.attributes=nAttr
Next
End Function
Sub RunScript
If RA_SHOW(0).Checked Then
nAttr=RA_SHOW(0).value
ElseIf RA_SHOW(1).Checked Then
nAttr=RA_SHOW(1).value
End If
Set fso = CreateObject("Scripting.FileSystemObject")
Set d = fso.GetDrive(DriveList.Value)
If d.DriveType=1 Then
If CB_DELAUTO.Checked Then
If (fso.FileExists(d & "/autorun.inf")) Then
Set MyFile = fso.GetFile(d & "/autorun.inf") \'Delete file
MyFile.Delete(true)
End If
End If
Call ShowFolderList(d,nAttr)
Call ShowFileList(d,nAttr)
If vbOK=MsgBox ("操作成功!現在檢視效果?",vbOKCancel+vbInformation,_
"Simple U-disk Repair Tool") Then
expldrv="Explorer.exe /e," & DriveList.Value
set ws=CreateObject("WScript.Shell")
ws.run expldrv
End If
Else
If vbYes=MsgBox ("此驅動器非可移動磁盤,如遇屬性無法更改将出錯!是否繼續?",_
vbYesNo+vbQuestion,"Simple U-disk Repair Tool") Then
If CB_DELAUTO.Checked Then
If (fso.FileExists(d & "/autorun.inf")) Then
Set MyFile = fso.GetFile(d & "/autorun.inf") \'Delete file
MyFile.Delete(true)
End If
End If
Call ShowFolderList(d,nAttr)
Call ShowFileList(d,nAttr)
If vbOK=MsgBox ("操作成功!現在檢視效果?",vbOKCancel+vbInformation,_
"Simple U-disk Repair Tool") Then
expldrv="Explorer.exe /e," & DriveList.Value
set ws=CreateObject("WScript.Shell")
ws.run expldrv
End If
End If
End If
End Sub
</SCRIPT>
<body>
<h2 align="center">簡單U盤修複工具(SURT)</h2>
(1/3)請選擇需要操作可移動磁盤:
<select size="1" name="DriveList">
</select>
<br />
(2/3)
<input type="radio" name="RA_SHOW" value="0" checked>全部顯示
<input type="radio" name="RA_SHOW" value="7">全部隐藏
<br />
(3/3)
<input type="checkbox" name="CB_DELAUTO" value="1" checked>删除"autorun.inf"檔案
<br />
<p align="center">
<button onClick="RunScript" accesskey=O>确定(<u>O</u>)</button>
<button onClick="self.close()" accesskey=Q>退出(<u>Q</u>)</button>
<br />© <a href="mailto:tunhsiaATgmail.com">Tunhsia</a>
</p>
</body>
</html>