|
|
直接复制下面全部代码,保存为 改扩展名.vbs 即可使用:
- '重命名后缀 增强版:下拉菜单 + 手动输入 / 优化升级
- On Error Resume Next
- Dim oArgs, File, fso, OldExt, NewExt, WSHShell, objIE
- Set oArgs = WScript.Arguments
- Set WSHShell = WScript.CreateObject("WScript.Shell")
- Set fso = CreateObject("Scripting.FileSystemObject")
- ' 检查是否拖拽文件
- If oArgs.Count <> 1 Then
- MsgBox "请拖拽一个文件到该脚本上执行!", 48 + 4096, "警告"
- WScript.Quit
- End If
- File = oArgs(0)
- OldExt = fso.GetExtensionName(File)
- ' ===================== 常用扩展名列表(可自行增删)=====================
- Const ExtList = "txt,mp4,jpg,png,mp3,zip,rar,pdf,docx,xlsx,pptx,html,bat,vbs"
- ' ======================================================================
- ' 创建带下拉框的输入窗口
- Set objIE = CreateObject("InternetExplorer.Application")
- objIE.Navigate "about:blank"
- objIE.ToolBar = False
- objIE.StatusBar = False
- objIE.Width = 400
- objIE.Height = 220
- objIE.Left = 200
- objIE.Top = 200
- objIE.Document.Title = "修改文件扩展名"
- ' 构建界面HTML
- With objIE.Document.Body
- .Style.Background = "#f0f0f0"
- .Style.Font = "14px 微软雅黑"
- .InnerHTML = "<div style='padding:15px;'>" & _
- "<b>当前文件扩展名:</b>" & OldExt & "<br><br>" & _
- "<b>选择或输入新扩展名:</b><br><br>" & _
- "<select id='selExt' style='width:320px;height:25px;font-size:14px;'></select><br><br>" & _
- "<input type='text' id='txtExt' style='width:320px;height:25px;font-size:14px;' placeholder='也可以在这里手动输入'><br><br>" & _
- "<center><input type='button' value='确定修改' onclick='ok()' style='width:100px;height:30px;font-size:14px;'>" & _
- "<input type='button' value='取消' onclick='cancel()' style='width:100px;height:30px;font-size:14px;'></center></div>"
- ' 填充下拉选项
- Dim arrExt, i
- arrExt = Split(ExtList, ",")
- For i = 0 To UBound(arrExt)
- Set opt = .ParentWindow.document.createElement("OPTION")
- opt.Text = arrExt(i)
- objIE.Document.getElementById("selExt").options.add(opt)
- Next
- End With
- ' 脚本逻辑
- objIE.Document.ParentWindow.window.setInterval "if(document.activeElement.tagName!='HTML'&&document.activeElement.tagName!='BODY'){document.getElementById('selExt').blur();}", 100
- objIE.Document.ParentWindow.ok = GetRef("OKClick")
- objIE.Document.ParentWindow.cancel = GetRef("CancelClick")
- objIE.Visible = True
- ' 等待用户操作
- Do While objIE.Visible
- WScript.Sleep 100
- Loop
- Sub OKClick()
- NewExt = Trim(objIE.Document.getElementById("txtExt").Value)
- If NewExt = "" Then
- NewExt = Trim(objIE.Document.getElementById("selExt").Value)
- End If
- objIE.Quit()
- Set objIE = Nothing
- If Len(NewExt) > 0 Then
- fso.GetFile(File).Name = fso.GetBaseName(File) & "." & NewExt
- WSHShell.Popup "修改成功!新扩展名:" & NewExt, 2, "成功", 64
- End If
- WScript.Quit
- End Sub
- Sub CancelClick()
- objIE.Quit()
- Set objIE = Nothing
- WScript.Quit
- End Sub
复制代码
|
|