用vbs写一个关机脚本
时间: 2023-03-14 08:46:11 浏览: 96
答:可以使用以下代码:Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "shutdown -s -t 0", 0
Set WshShell = Nothing
相关问题
用vbs脚本写一个局域网扫描
我可以回答这个问题。您可以使用以下vbs脚本来扫描局域网:
```
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
strIP = IPConfig.IPAddress(i)
If InStr(strIP, ".") > Then
strPrefix = Left(strIP, InStrRev(strIP, "."))
For j=1 To 254
strTestIP = strPrefix & j
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("select * from Win32_PingStatus where address='" & strTestIP & "'")
For Each objStatus in objPing
If objStatus.StatusCode = Then
WScript.Echo "IP Address: " & strTestIP & " is online."
End If
Next
Next
End If
Next
End If
Next
```
这个脚本将扫描您的局域网,并显示在线的IP地址。请注意,您需要以管理员身份运行此脚本。
vbs写一个循环20s的脚本
您可以使用VBScript编写一个循环20秒的脚本,以下是一个示例:
```vbscript
Option Explicit
Dim startTime, currentTime
' 获取当前时间
startTime = Timer
Do While Timer - startTime < 20
' 在此处编写您想要重复执行的代码
' 例如:MsgBox "Hello, World!"
' 获取当前时间
currentTime = Timer
' 检查是否已经过了1秒,如果是则输出已经过去的秒数
If currentTime - startTime >= 1 Then
WScript.Echo Round(currentTime - startTime) & " seconds have passed."
End If
' 等待一小段时间,以免循环过于频繁占用系统资源
WScript.Sleep 100
Loop
WScript.Echo "Loop finished."
```
以上脚本会在循环内输出已经过去的秒数,并在循环结束后输出"Loop finished."。您可以根据您的需求在循环内编写具体的操作代码。请注意,VBScript脚本需要保存为`.vbs`文件并在Windows系统上运行。