当前位置:千优问>常见问答>vbs代码,纯自己采集,绝对良心!

vbs代码,纯自己采集,绝对良心!

2022-03-31 13:54:22 编辑:join 浏览量:579

vbs代码,纯自己采集,绝对良心!

多段vbs代码,大家可借鉴,提意见或建议!

方法步骤

01.

把以下将要展示的代码粘贴在新建的一个文本文档中

然后把后缀改成.vbs

02.

简单的石头剪刀布小游戏

msgbox"欢迎来到石头剪刀布1.0!"

randomize

do

a=msgbox("是否开始游戏?",vbyesno,"石头剪刀布1.0")

ifa=vbyesthen

b=inputbox("请输入你要出的是什么,1石头、2剪刀、3布","请输入!")

d=int(rnd*3+1)

strs=Array("石头","剪刀","布")

msgbox"你出的是"&strs(b-1)&"电脑出的是"&strs(d-1)

else

wscript.Quit

end if

loop

03.

自动报时问好

Digital=Time

hours=Hour(Digital)

minutes=Minute(Digital)

seconds=Second(Digital)

If(hours<6)Then

dn="凌辰了还没睡啊"

End If

If(hours>=6)Then

dn="早上好"

End If

If(hours>12)Then

dn="下午好"

End If

If(hours>18)Then

dn="晚上好"

End If

If(hours>22)Then

dn="不早了夜深了该睡觉了"

End If

If(minutes<=9)Then

minutes="0" &minutes

End If

If(seconds<=9)Then

seconds="0" &seconds

End If

ctime=hours& ":" &minutes& ":" &seconds& " " &dn

MsgBoxctime

04.

定时关机并弹出对话框

WScript.Sleep5000

setobjTTS=createobject("sapi.spvoice")

objTTS.speak"XXX,再见!"

WScript.Sleep5000

dim WSHshell

setWSHshell=wscript.createobject("wscript.shell")

WSHshell.run"shutdown-f-s-t00",0,true

05.

增大音量,可用do loop

Setws=CreateObject("WScript.Shell")

ws.SendKeysChr(&H88AF)

06.

减小音量

Setws=CreateObject("WScript.Shell")

ws.SendKeysChr(&H88AE)

07.

运行后删除自身代码,请备份一个再运行

dimfso,f

Setfso=CreateObject("Scripting.FileSystemObject")

f=fso.DeleteFile(WScript.ScriptName)

08.

打开任何程序都关掉

dim WSHshell

setWSHshell=wscript.createobject("wscript.shell")

do

wscript.sleep2500

WSHshell.SendKeys"%{F4}"

loop

09.

电脑说话

setobjTTS=createobject("sapi.spvoice")

objTTS.speak"XXXXXXX"

10.

删除指定路径的文件夹

Dimfso

Setfso=CreateObject("Scripting.FileSystemObject")

fso.DeleteFolder("C:\")'不管文件夹中有没有文件都一并删除

11.

隐藏桌面的所有图标(谨慎使用)解药在下一个

setws=createobject("wscript.shell")

ws.run"taskkill/im explorer.exe/f",0,true

12.

显示回图标,上一个在运行时要先留一个资源管理器窗口,然后右键运行即可解除

setws=createobject("wscript.shell")

ws.run"explorer.exe",0,true

13.

把桌面背景转化成自己想要的图片(要bmp格式哦!指定路径哦)

setws=createobject("wscript.shell")

ws.regwrite"HKCU\Control Panel\Desktop\wallpaper","C:\XXX.bmp","REG_SZ"

ws.run"RunDll32.exeUSER32.DLL,UpdatePerUserSystemParameters"

14.

禁用任务管理器

SetWshShell=CreateObject("Wscript.Shell")

WshShell.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr",1,"REG_DWORD"

15.

禁用注册表编辑器

WshShell.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",1,"REG_DWORD"

16.

取消禁用任务管理器

Dim WshShell

SetWshShell=CreateObject("Wscript.Shell")

WshShell.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr",0,"REG_DWORD"

Wscript.Echo"恢复成功!"

Wscript.Quit

17.

取消禁用注册表编辑器

Dim WshShell

SetWshShell=CreateObject("Wscript.Shell")

WshShell.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",0,"REG_DWORD"

Wscript.Echo"恢复成功!"

Wscript.Quit

18.

静音非静音切换

Setws=CreateObject("WScript.Shell")

ws.SendKeysChr(&H88AD)

19.

把当前vbs复制到指定路径

path1=WScript.ScriptFullName'获取你的vbs路径

Setfso=WScript.CreateObject("scripting.filesystemobject")

Setfs=fso.GetFile(path1)

fs.Copy("d:\")'把你的vbs复制到D盘,也可以是其他路径,具体你自己设置

MsgBox"已经复制成功"'如果达到隐形目的,这排可以删除

20.

计算本地日落时间

Dim JD,WD,Days,SunDown,TimeArea,X,ACOS,Arr,Today

JD=105.1'经度,东为正西为负,我国都是东经

WD=31.4'纬度,北为正南为负,我国都是北纬

TimeArea=8 '时区,东正西负,有东九、东八、东七、东六、东五五个时区

TodAy=Year(Now)& "年" &Month(Now)& "月" &Day(Now)& "日"

Days=DateDiff("d",Year(Now)& "-1-100:00:00",Now)+1

X= -TAN(-23.4*COS(2*3.14*(Days+9)/365)*3.14/180)*TAN(WD*3.14/180)

ACOS=Atn(-X/Sqr(-X*X+1))+2 *Atn(1)

SunDown=Round(24*(1+(TimeArea*15-JD)/180)-24*(180+TimeArea*15-JD-ACOS*180/3.14)/360,2)

Arr=Split(SunDown,".")

SunDown=Arr(0)& ":" &Int((0&"."&Int(Arr(1)))*60)

WScript.Echo"本地" &Today& "日落时间为:" &SunDown

21.

显示指定路径的文件创建时间,最后修改时间,文件最后访问时间

setfso=createobject("Scripting.FileSystemObject")

setfn=fso.GetFile("C:\Users\Administrator\Desktop\whathow感叹用法.txt")

msgbox"文件创建时间:"&fn.DateCreated

msgbox"文件最后修改时间:"&fn.DateLastModified

msgbox"文件最后访问时间:"&fn.DateLastAccessed

setfn=nothing

setfso=nothing

22.

最后,我给大家来一个长一点儿的。

找出本地磁盘中空的东西并删除它们

'/// 主程序部分

Dimobjfso,WshShell,ext

Setobjfso=WScript.CreateObject("Scripting.Filesystemobject")

SetWshShell=CreateObject("Wscript.Shell")

choices="1.删除空的文档" &vbCr& "2.删除空的文件夹" &vbCr& "3.退出"

prompt="日志文档保存在" & "C:\EmptyDelete.log" &vbCrLf&vbCrLf& "单击是(开始),否(退出)!" &vbCrLf&vbCrLf&_

"(c)Zero2014"

confirm=MsgBox("本工具将在本地磁盘上搜索空的东西(文件夹和文件)!"&vbCr&prompt,vbYesNo+vbInformation+vbdefaultbutton1,"欢迎使用!")

Ifconfirm=vbyesThen

MsgBox"不建议在C盘和D盘使用,错误删除与本作者无关" ,vbOKOnly+vbExclamation,"提示"

do

getchoice=InputBox("请输入需要处理的事项:" &vbCr&choices)

ifisnumeric(getchoice)then

exitdo

else

msgbox"请输入数字"

end If

Loop

getchoice=CInt(getchoice)

SelectCase getchoice

Case1:'搜索空文件

getdrv=InputBox("请输入需要处理的盘符"& "格式如下:E:\","盘符","E")

getdrv=getdrv& ":\"

ext=InputBox("请输入需要搜索的文件扩展名"& "比如:txt","扩展名","txt")

logfile= "C:\EmptyDelete.log"

setlogbook=objfso.OpenTextFile(logfile,8,true)

Call CheckDiskFile(getdrv,ext)

logbook.Close

WshShell.Popup"检查完毕!" &vbCrLf& "(c)Zero2014",5,"谢谢使用",vbInformation+vbokOnly

Case2:'搜索空文件夹

getdrv=InputBox("请输入需要处理的盘符"& "格式如下:E","盘符","E")

getdrv=getdrv& ":\"

logfile= "C:\EmptyDelete.log"

setlogbook=objfso.OpenTextFile(logfile,8,true)

setdrive=objfso.GetDrive(getdrv)

CheckFolder drive.RootFolder

logbook.Close

WshShell.Popup"检查完毕!" &vbCrLf& "(c)Zero2014",5,"谢谢使用",vbInformation+vbokOnly

End select

Else Ifconfirm=vbno Then

MsgBox"你会回来的!" &vbCrLf& "(c)Zero2014" ,vbOKOnly+vbError,"提示"

WScript.Quit

End If

End If

'/// 主程序部分结束

'/// /////////////////////////////////////////////检查空文件部分开始////////////////////////

Function CheckDiskFile(drv,ext)

extTemp=ext

On Error Resume Next

Dimfso

Setfso=WScript.CreateObject("Scripting.Filesystemobject")

SetdrvRootFiles=fso.GetFolder(drv)

Setfiles=drvRootFiles.Files

For Eachfile Infiles

IsEmptyFilefile,extTemp

Next

Setsubfoldertemp=fso.GetFolder(drv)

Setsubfolders=subfoldertemp.SubFolders

For Each subfolder In subfolders

CheckDiskFile subfolder,extTemp'递归

Next

End Function

'/// 测试是否为空文件

Sub IsEmptyFile(file,ext)

OnError Resume Next

Setfso=CreateObject("Scripting.FileSystemObject")

extFile=fso.GetExtensionName(file)

Iffile.Size=0AndextFile=ext Then

ReportEmptyfile

End If

End Sub

'/// 写入日志文件

FunctionReportEmpty(file)

On Error Resume Next

response=MsgBox("我们在" &vbCr&file.Path& "发现了空文件," &_

"你想删除吗?",vbYesNo+vbDefaultButton1,"提示")

Ifvbyes=responseThen

logbook.WriteLinevbCrLf

logbook.WriteLine"[文件:]"

logbook.WriteLinefile.Path&vbCrlf& " 在" &Now& " 被删除"

objfso.DeleteFilefile,True

end If

End Function

'/// /////////////////////////////////////////////检查空文件部分结束////////////////////////

'/// /////////////////////////////////////////////检查空文件夹部分开始//////////////////////

sub CheckFolder(folderobj)

on error resume Next

isEmptyFolderfolderobj

for each subfolder infolderobj.subfolders

CheckFolder subfolder

Next

end Sub

sub isEmptyFolder(folderobj)

on error resume Next

iffolderobj.Size=0and err.Number=0then

iffolderobj.subfolders.Count=0Then

ReportEmptyFolderfolderobj

end If

end If

end Sub

sub ReportEmptyFolder(folderobj)

on error resume next

lastaccessed=folderobj.DateLastAccessed

on error goto0

response=MsgBox("我们在:" &vbCr_

&folderobj.path&vbCr& "发现了空文件夹" & "文件夹最后访问时间:" _

&vbCr&lastaccessed&vbCr_

& "你想删除这个文件夹么?",_

vbYesNoCancel+vbDefaultButton2)

ifresponse=vbYesThen

logbook.WriteLine"[文件夹:]"

logbook.WriteLinefolderobj.path&vbCrlf& " 在" &Now& " 被删除"

folderobj.delete

elseifresponse=vbCancel Then

MsgBox"你选择了退出!谢谢使用" &vbCrLf& "(c)Zero2014"

WScript.Quit

end If

end Sub

23.

此指南个别借鉴网络其他大神的作品并做了修改!

在此不必全部提出。

谢谢大家!

特别提醒

个人积累的代码,网上许多都是重复的。如内含有错误,欢迎大神们指正!

标签:良心