bat编程和vbs编程入门

先看看bat(批处理文件)中一些简单的命令

开头第一句 @echo off 这句话的意思是后面每句都关闭回显,(你可以不加这句直接echo 几行试试)on打开命令的回显状态;off关闭命令的回显状态。关于“回显”,可以理解为:重复显示。

echo 这个命令相当于C语言中的printf和python中的print,不过后面不用加括号,空格就好了

color 05 颜色属性由两个十六进制数字指定,0是背景颜色,5是前景颜色(0是黑色,5是蓝色),可以在0-F中选。

set /a val=1 这句话是创建一个变量名叫val,值为1,set 就是创建变量的语句。

set /p val=请输入 执行后你输入的值就保存在val变量中

%val% 就是引用变量val,比如set /a val=1,echo %val% ,控制台就是显示一个数字1

pause 暂停,加在最后 防止闪退

%[0-9],其中%0是循环自身,可以机子循环死。%1-%9为参数。比如创建一个demo.dat,和一个a.txt,a.txt内容随便,dat文件内容如下

@echo off

type %1

format %2

echo %2

然后 键盘最下面一列第三个键+R 输入cmd回车,输入cd ‘dat文件所在目录’,如下

C:\Users\zs>demo a.txt 25

结果如下
agasdag
25

:: 和 rem 就是注释,增加代码可读性

echo Hello>a.txt 将Hello写入a.txt文件,

echo Hello>>a.txt 将Hello加入到a.txt文件中

echo %errorlevel% errorlevel的值正常情况下为0,出现错误为1,

equ ,neq, lss,leq,gir,geq 分别代表=,≠,<,≤,>,≥,一般用在if语句中

start C:\Users\zs\Desktop\房间.mp3,打开这个文件。

: 和 goto ,:tit 意思这里有一个标签,名叫tit,goto tit 意思从tit 开始运行,有什么用?用于循环和死机,比如写一个a.bat

@echo off

set /a var=0

::创建一个便签名叫401

:401

echo %var%

set /a var+=1

start a.bat

goto 401

(如果想要运行请去虚拟机试验,仔细看看这个是一个死循环,可以把你的机子卡爆,反正我虚拟机已经炸了,如果把这个文件放在开机目录下,那就很作死)

@ping -n 5 127.1>nul 意思暂停5秒

for %%I in (command1) do command2 ,例如for %%I in (re,bra,kul)do echo %%I,就会输出re,bra,kul 。它的强大笔者不愿赘述。

shutdown /s /t 5,这句话可以让计算机5秒后关机,关于shutdown可以打开cmd键入shutdown查看

可以看出其实有了goto,bat文件很容易写死循环,恶搞。慎用,别人发给你bat或者vbs文件,虽然vbs文件很容易被杀毒软件当成病毒,打开时最好先看一眼。

但是其实bat文件一个很有用的地方就是清理系统垃圾和缓冲。

如果无法运行可能是编码问题,默认是utf-8的格式,需要另存为ANSI编码。

下面聊聊更有意思的vbs,vbs 在抖音上已经被玩坏了。其实这种恶搞的程序也可以用python的thinker库实现,只不过不是所有人都有python 的编译环境。

下面简单介绍下vbs一些简单的函数命令。

先提醒下,所有符号都是英文符号。

1.msgbox函数。msgbox“Prompt,Buttons,title”,一般就添这几个参数。比如msgbox “可不可以做我女朋友”,vbOKCancel,“认真回答” ,运行结果如下

vbOKCancel表示显示确定个取消两个按钮,点击某个按钮会有确定的返回值,可以根据返回值进行下一步操作,比如

‘当有返回值的时候需要用括号,英文符

res= msgbox (“可不可以做我女朋友”,vbOKCancel,“认真回答”)

if res=vbOK Then
msgbox"我就知道你喜欢我"
Else
msgbox"你再想想吧"
End If
这里包含了if语句,有if就有End If

2.单引号‘ 表示注释

3.Dim name,定义一个名为name 的变量

4.inputbox ,相当于python中的input函数,接受一个字符,CDb1函数能把字符变成数字。inputbox函数一般输入一或者两个参数,分别是对话框内容和标题。

5.select case 变量名

case 值

语句

case 值

语句

case else

语句

end select

其实相当于switch语句,不过不用break

6.下面介绍最强最能捣乱的do…loop,

dim input,ctr
ctr=0 '设置计数器
const pass=“pas123_” '上面的那个是弱密码, 这次改的强一点
do until input=pass
input=inputbox(“请输入密码”)
if ctr=2 then
msgbox “已经达到认证上限, 认证程序关闭”
exit do
end if
ctr = ctr + 1’注意:这一句是赋值句,要从右往左读,即每出错一次就把ctr加上1,然后再放回ctr里面,使得这个常量加1
loop
if input=pass then
msgbox “成功”
else
msgbox “失败”
end if
这个程序在你三次输错密码之后会exit do,退出循环。

还可以用for 循环

for 变量初始值 to 变量终止值 step 步长

循环体

next

7.Set r=CreateObject(“Wscript.Shell”) ,创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量。当然也可以创建其他对象,比如,

ADODB.Stream
InternetExplorer.Application
Msxml2.XMLHTTP
Scripting.Dictionary
Scripting.FileSystemObject
Shell.Application
WScript.Shell
有兴趣的可以一一了解。以上r对象可以使用run方法,比如

Set r=CreateObject(“Wscript.Shell”)

r.run"cmd.exe /c shutdown -s -t 5"

5秒后关机。同理也可以用run方法打开某程序

-----------------------------------------------------欢迎关注,共同进步---------------------------------------------------还有1999G+编程资料等你拿

bat编程和vbs编程入门_第1张图片

你可能感兴趣的:(bat编程和vbs编程入门)