VBS简单命令

VBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。(微软公司可视化BASIC脚本版)。
其语言类似Visual Basic(VB)。(此处不适合无编程经验的小白)

InputBox

InputBox 函数显示一个对话框,用户可在其中输入文本并/或点击一个按钮。如果用户点击点击 OK 按钮或按键盘上的 ENTER 键, 则 InputBox 函数返回文本框中的文本。如果用户点击 Cancel 按钮,函数返回一个空字符串(“”)。

注意:如果同时规定 helpfile 和 context 参数,则会向对话框添加一个 Help 按钮。

1
2
'InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])
InputBox("测试",,"默认文本")

MsgBox

MsgBox 函数显示一个消息框,等待用户点击某个按钮,然后返回指示被点击按钮的值。

1
'MsgBox(prompt[,buttons][,title][,helpfile,context])

其中buttons有

  • 0 = vbOKOnly - 只显示 OK 按钮
  • 1 = vbOKCancel - 显示 OK 和 Cancel 按钮
  • 2 = vbAbortRetryIgnore - 显示 Abort、Retry 和 Ignore 按钮
  • 3 = vbYesNoCancel - 显示 Yes、No 和 Cancel 按钮
  • 4 = vbYesNo - 显示 Yes 和 No 按钮
  • 5 = vbRetryCancel - 显示 Retry 和 Cancel 按钮
  • 16 = vbCritical - 显示临界信息图标
  • 32 = vbQuestion - 显示警告查询图标
  • 48 = vbExclamation - 显示警告消息图标
  • 64 = vbInformation - 显示信息消息图标
  • 0 = vbDefaultButton1 - 第一个按钮为默认按钮
  • 256 = vbDefaultButton2 - 第二个按钮为默认按钮
  • 512 = vbDefaultButton3 - 第三个按钮为默认按钮
  • 768 = vbDefaultButton4 - 第四个按钮为默认按钮
  • 0 = vbApplicationModal - 应用程序模式(用户必须响应消息框才能继续在当前应用程序中工作)
  • 4096 = vbSystemModal - 系统模式(在用户响应消息框前,所有应用程序都被挂起)

MsgBox 函数返回下面的值:

  • 1 = vbOK - OK 按钮被点击
  • 2 = vbCancel - Cancel 按钮被点击
  • 3 = vbAbort - Abort 按钮被点击
  • 4 = vbRetry - Retry 按钮被点击
  • 5 = vbIgnore - Ignore 按钮被点击
  • 6 = vbYes - Yes 按钮被点击
  • 7 = vbNo - No 按钮被点击

声明(创建)VBScript 变量

可以通过 Dim、Public 或 Private 语句甚至直接用名称声明 VBScript 变量(和js差不多)。单引号注释

1
2
3
Dim x
carname="Volvo"
'x=carname

set一般用来给Object型变量赋值

1
2
3
Dim w
set w = CreateObject("wscript.shell")
w.Run("https://yked.gitee.io/")

条件语句

在 VBScript 中,我们可以使用四种条件语句:

  • If stat语句ement - 假如您希望在条件为 true 时执行一系列的代码,可以使用这个语句
  • If…Then…Else 语句 - 假如您希望执行两套代码其中之一,可以使用这个语句
  • If…Then…ElseIf 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
  • Select Case 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
If…Then…Else
1
2
3
4
5
6
If i=10 Then MsgBox("Hello")
'or
If i=10 Then
MsgBox("Hello")
i = i+1
End If
If…Then…ElseIf
1
2
3
4
5
6
7
8
9
10
i=11
If i = 10 Then
'code
ElseIf i = 11 Then
'code
ElseIf i = 12 Then
'code
Else
'code
End If
Select Case
1
2
3
4
5
6
7
8
9
d=weekday(date)
Select Case d
Case 1
'code
Case 2
'code
Case else
'code
End Select

循环

在 VBScript 中,我们可以使用四种循环语句:

  • For…Next 语句 - 运行一段代码指定的次数
  • For Each…Next 语句 - 针对集合中的每个项目或者数组中的每个元素来运行某段代码
  • Do…Loop 语句 - 运行循环,当条件为 true 或者直到条件为 true 时
  • While…Wend 语句 - 不要使用这个语句 - 请使用 Do…Loop 语句代替它
    For…Next
    请使用 For…Next 语句运行一段代码指定的次数。

For 语句规定计数变量(i)以及它的初始值和结束值。Next 语句会以 1 作为步进值来递增变量(i)。

1
2
3
For i = 0 To 5
MsgBox(i)
Next

通过 Step 关键词,您可以规定计数变量递增或递减的步进值。

1
2
3
For i=2 To 10 Step 2
MsgBox(i)
Next

您可以通过 Exit For 关键词退出 For…Next 语句。

For Each…Next

For Each…Next 针对集合中的每个项目或者数组中的每个元素来重复运行某段代码。

1
2
3
4
5
6
7
8
Dim cars(2)
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"

For Each x In cars
MsgBox(x)
Next

Do…Loop

无限循环

1
2
3
4
5
6
7
Do While i>10
some code
Loop
'或
Do
some code
Loop While i=10

退出循环 Exit Do

函数

1
2
3
4
Function myfunction(argument1,argument2)
代码
myfunction=返回值
End Function

子程序

与函数的区别是“无返回值”

1
2
3
Sub mysub(argument1,argument2)
代码
End Sub

运算符

1、算术运算符

/ 除

\ 整除

mod 取余(%)

^ 幂

& 字符串连接,字符串即用“”包围的内容

2、比较运算符

= 等于

<> 不等于

< 小于

大于

<= 小于等于

= 大于等于

Is 对象引用比较

3、逻辑运算符

not   非

and  与

or    或

xor   异或

eqv   等价

imp  隐含

出错继续执行

1
2
On Error Resume Next
code

文件操作

创建文件

dim fso, f

set fso =server.CreateObject(“Scripting.FileSystemObject”)

set f = fso.CreateTextFile(“C:\test.txt”, true) ‘第二个参数表示目标文件存在时是否覆盖
‘‘‘

f.Write(“写入内容”)

f.WriteLine(“写入内容并换行”)

f.WriteBlankLines(3) ‘写入三个空白行(相当于在文本编辑器中按三次回车)

f.Close()

set f = nothing

set fso = nothing

打开并读文件

dim fso, f

set fso = server.CreateObject(“Scripting.FileSystemObject”)

set f = fso.OpenTextFile(“C:\test.txt”, 1, false) ‘第二个参数 1 表示只读打开,第三个参数表示目标文件不存在时是否创建

f.Skip(3) ‘将当前位置向后移三个字符

f.SkipLine() ‘将当前位置移动到下一行的第一个字符,注意:无参数

response.Write f.Read(3) ‘从当前位置向后读取三个字符,并将当前位置向后移三个字符

response.Write f.ReadLine() ‘从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数

response.Write f.ReadAll() ‘从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后

if f.atEndOfLine then

response.Write(“一行的结尾!”)

end if

if f.atEndOfStream then

response.Write(“文件的结尾!”)

end if

f.Close()

set f = nothing

set fso = nothing

打开并写文件

dim fso, f

set fso = server.CreateObject(“Scripting.FileSystemObject”)

set f = fso.OpenTextFile(“C:\test.txt”, 2, false) ‘第二个参数 2 表示重写,如果是 8 表示追加

f.Write(“写入内容”)

f.WriteLine(“写入内容并换行”)

f.WriteBlankLines(3) ‘写入三个空白行(相当于在文本编辑器中按三次回车)

f.Close()

set f = nothing

set fso = nothing

判断文件是否存在

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

if fso.FileExists(“C:\test.txt”) then

response.Write(“目标文件存在”)

else

response.Write(“目标文件不存在”)

end if

set fso = nothing

移动文件

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

call fso.MoveFile(“C:\test.txt”, “D:\test111.txt”) ‘两个参数的文件名部分可以不同

set fso = nothing

复制文件

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

call fso.CopyFile(“C:\test.txt”, “D:\test111.txt”) ‘两个参数的文件名部分可以不同

set fso = nothing

删除文件

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

fso.DeleteFile(“C:\test.txt”)

set fso = nothing

创建文件夹

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

fso.CreateFolder(“C:\test”) ‘目标文件夹的父文件夹必须存在

set fso = nothing

判断文件夹是否存在

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

if fso.FolderExists(“C:\Windows”) then

response.Write(“目标文件夹存在”)

else

response.Write(“目标文件夹不存在”)

end if

set fso = nothing

删除文件夹

dim fso

set fso = server.CreateObject(“Scripting.FileSystemObject”)

fso.DeleteFolder(“C:\test”) ‘文件夹不必为空

set fso = nothing

查阅:菜鸟教程《VBScript 函数》


满分是10分的话,这篇文章你给几分,您的支持将鼓励我继续创作!