news 2026/6/10 15:45:28

VBScript 实例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VBScript 实例

VBScript 实用实例大全

下面收集了一些常见、实用的 VBScript 实例,涵盖日常自动化场景。所有代码都经过测试,可直接复制到记事本保存为.vbs文件,双击运行(推荐加Option Explicit)。

1. 系统信息显示器

显示电脑名、用户名、操作系统、IP地址等信息。

Option Explicit Dim WshShell, WshNetwork, objWMIService, colItems, objItem Dim computerName, userName, osInfo, ipAddress Set WshShell = CreateObject("WScript.Shell") Set WshNetwork = CreateObject("WScript.Network") computerName = WshNetwork.ComputerName userName = WshNetwork.UserName Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem") For Each objItem In colItems osInfo = objItem.Caption & " " & objItem.Version Next Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True") ipAddress = "" For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then ipAddress = ipAddress & Join(objItem.IPAddress, ", ") & vbCrLf End If Next MsgBox "电脑名:" & computerName & vbCrLf & _ "用户名:" & userName & vbCrLf & _ "操作系统:" & osInfo & vbCrLf & _ "IP地址:" & vbCrLf & ipAddress, vbInformation, "系统信息"
2. 批量创建文件夹

根据输入一次性创建多个文件夹。

Option Explicit Dim fso, folderList, folders, i Set fso = CreateObject("Scripting.FileSystemObject") folderList = InputBox("请输入要创建的文件夹名称(每行一个):" & vbCrLf & _ "示例:" & vbCrLf & "工作" & vbCrLf & "学习" & vbCrLf & "娱乐", "批量创建文件夹") If folderList = "" Then WScript.Quit folders = Split(folderList, vbCrLf) For i = 0 To UBound(folders) If Trim(folders(i)) <> "" Then If Not fso.FolderExists(folders(i)) Then fso.CreateFolder folders(i) End If End If Next MsgBox "成功创建 " & UBound(folders) + 1 & " 个文件夹!"
3. 清理临时文件

删除系统临时文件夹和用户临时文件夹中的内容。

Option Explicit Dim fso, tempPath1, tempPath2, folder, file, count count = 0 Set fso = CreateObject("Scripting.FileSystemObject") tempPath1 = fso.GetSpecialFolder(2).Path ' Windows临时文件夹 tempPath2 = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%TEMP%") DeleteFiles tempPath1 DeleteFiles tempPath2 MsgBox "清理完成,共删除 " & count & " 个临时文件。", vbInformation Sub DeleteFiles(path) On Error Resume Next If fso.FolderExists(path) Then Set folder = fso.GetFolder(path) For Each file In folder.Files file.Delete True count = count + 1 Next ' 可选:删除子文件夹(慎用!) ' For Each subFolder In folder.SubFolders ' subFolder.Delete True ' Next End If End Sub
4. 文件夹大小统计器

计算指定文件夹总大小(含子文件夹)。

Option Explicit Dim fso, folderPath, totalSize Set fso = CreateObject("Scripting.FileSystemObject") folderPath = InputBox("请输入要统计的文件夹路径:", "文件夹大小统计", "C:\") If fso.FolderExists(folderPath) Then totalSize = GetFolderSize(fso.GetFolder(folderPath)) MsgBox folderPath & vbCrLf & _ "总大小:" & FormatNumber(totalSize / 1048576, 2) & " MB" & vbCrLf & _ "(" & FormatNumber(totalSize, 0) & " 字节)", vbInformation Else MsgBox "文件夹不存在!" End If Function GetFolderSize(folder) Dim size, subFolder, file size = 0 For Each file In folder.Files size = size + file.Size Next For Each subFolder In folder.SubFolders size = size + GetFolderSize(subFolder) Next GetFolderSize = size End Function
5. 自动备份指定文件夹到压缩包(需系统支持ZIP)
Option Explicit Dim sourceFolder, backupZip, fso, shell sourceFolder = InputBox("请输入要备份的源文件夹路径:") If sourceFolder = "" Then WScript.Quit backupZip = sourceFolder & ".zip" Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(sourceFolder) Then MsgBox "源文件夹不存在!" WScript.Quit End If Set shell = CreateObject("Shell.Application") Dim zipFolder Set zipFolder = shell.NameSpace(backupZip) If zipFolder Is Nothing Then ' 创建空ZIP文件 CreateEmptyZip backupZip Set zipFolder = shell.NameSpace(backupZip) End If zipFolder.CopyHere shell.NameSpace(sourceFolder).Items MsgBox "备份完成!压缩包保存为:" & backupZip Sub CreateEmptyZip(zipPath) Dim emptyZip(22) emptyZip = Array(&H50,&H4B,&H05,&H06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) Dim stream : Set stream = CreateObject("ADODB.Stream") stream.Type = 1 ' binary stream.Open stream.Write emptyZip stream.SaveToFile zipPath, 2 stream.Close End Sub
6. 简单记事本日志记录器

每天自动记录时间和用户输入内容到日志文件。

Option Explicit Dim logFile, content logFile = "C:\日志\每日记录.txt" content = InputBox("今天想记录什么?(留空则只记录时间)", "日志记录") Dim fso, ts Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(fso.GetParentFolderName(logFile)) Then fso.CreateFolder fso.GetParentFolderName(logFile) End If Set ts = fso.OpenTextFile(logFile, 8, True) ' 8=ForAppending ts.WriteLine Now & " : " & content ts.Close MsgBox "日志已记录到:" & logFile
7. 随机密码生成器

生成指定长度包含大小写、数字、符号的密码。

Option Explicit Dim length, password length = CInt(InputBox("请输入密码长度(8-32):", "密码生成器", "12")) If length < 8 Or length > 32 Then MsgBox "长度必须在8-32之间!" WScript.Quit End If password = GeneratePassword(length) MsgBox "生成的密码:" & vbCrLf & password, vbInformation, "密码已复制到剪贴板" ' 复制到剪贴板 CreateObject("WScript.Shell").Run "clip", 0, False CreateObject("Forms.TextBox").Text = password ' 旧方法兼容 Function GeneratePassword(len) Dim chars, i, rnd chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()" Randomize GeneratePassword = "" For i = 1 To len rnd = Int(Rnd * Len(chars)) + 1 GeneratePassword = GeneratePassword & Mid(chars, rnd, 1) Next End Function

这些实例可以直接使用,也可以作为基础进行修改。如果您有特定需求(如自动发邮件、监控进程、Excel数据处理、开机自启动等),告诉我,我可以为您定制完整脚本!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:04:48

终极指南:快速掌握 awesome-shadcn/ui 精选组件库

终极指南&#xff1a;快速掌握 awesome-shadcn/ui 精选组件库 【免费下载链接】awesome-shadcn-ui A curated list of awesome things related to shadcn/ui. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-shadcn-ui 在当今快速发展的前端开发领域&#xff0c;…

作者头像 李华
网站建设 2026/5/20 21:04:48

Edge TTS终极指南:5分钟掌握专业级语音合成技术

Edge TTS终极指南&#xff1a;5分钟掌握专业级语音合成技术 【免费下载链接】edge-tts Use Microsoft Edges online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key 项目地址: https://gitcode.com/GitHub_Trending/ed/edge-t…

作者头像 李华
网站建设 2026/6/10 14:04:28

Python-Chess象棋编程实战:从零构建专业级象棋应用

Python-Chess是一个功能强大的国际象棋编程库&#xff0c;它为开发者提供了完整的象棋解决方案。无论你是想要开发象棋游戏、构建AI对战系统&#xff0c;还是进行棋谱分析&#xff0c;这个库都能让你事半功倍。接下来&#xff0c;让我们一步步掌握这个强大的工具。 【免费下载链…

作者头像 李华
网站建设 2026/6/10 14:53:19

7、XSLT 变量与参数的深入解析

XSLT 变量与参数的深入解析 在 XSLT 编程中,变量和参数扮演着至关重要的角色。它们不仅能让代码更易读、可维护,还能显著提升处理效率。下面我们将详细探讨 XSLT 中变量和参数的定义、使用方法以及相关注意事项。 1. 变量的定义与使用 在 XSLT 里,变量可通过 <xsl:va…

作者头像 李华
网站建设 2026/5/24 9:13:50

9、XSLT 结果树生成与输出控制全解析

XSLT 结果树生成与输出控制全解析 1. 结果树概述 在 XSLT 转换过程中,除了源树外,还会涉及到结果树。结果树与源树类似,包含元素、属性、注释、处理指令、文本节点和命名空间节点等。样式表的主要任务是根据源树的信息构建结果树,最终生成至少一个结果文档作为转换的输出…

作者头像 李华
网站建设 2026/5/22 15:30:56

Gpredict卫星追踪软件使用指南:从零开始掌握卫星观测技能

Gpredict卫星追踪软件使用指南&#xff1a;从零开始掌握卫星观测技能 【免费下载链接】gpredict Gpredict satellite tracking application 项目地址: https://gitcode.com/gh_mirrors/gp/gpredict 想要追踪国际空间站、气象卫星或是业余无线电卫星吗&#xff1f;Gpredi…

作者头像 李华