先看看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+编程资料等你拿