`

(一)Windows脚本编程

阅读更多

批处理、VBA、广义Windows脚本技术

循环加一

早期写的一个总结。

一、关于脚本语言

脚本语言就是由专用解释器以行为单位解释执行的一种文本形式编程语言,象Windows的批处理、Unix/Linux的shell、perl和awk等脚本语言都属于这个范畴。它们大多都是由一个外壳(shell)来进行解释执行,只不过应用的范围和平台各有不同而已。

二、关于Windows脚本

从广义上讲,Windows脚本是一个比较大的概念,它包括了Jscript、VBScript、Windows脚本宿主、Windows脚本部件、远程脚本和Script控件等多种技术。

狭义上来讲,Windows脚本就是我们平常所说的批处理。这里所说的Windows脚本也就是指这个概念,下面如无特殊说明都是指这个概念。

Windows脚本形式上其实就是一个文本文件,后缀名为“.bat”,还可以是“.cmd”(.bat是DOS下的批处理文件,.cmd是NT内核命令行环境的另一种批处理文件)。这个文本文件的大部分内容其实就是一行一行的DOS命令,你可以使用任何文本编辑工具来进行创建和修改。除了DOS命令之外,Windows脚本还有一些自己专用的命令及语法,下面会涉及到。注意,在Windows脚本中,每一行只能写一个命令,就像我们平时在xp的cmd里一样,它只不过是将很多个命令按顺序逐一执行罢了。

这里我觉得有必要指出,虽然我们平时在xp下直接双击Windows脚本就可以直接执行,但它并不是真正意义上的可执行文件,它本质上就是一个文本文件,之所以能直接运行,是因为我们双击Windows脚本的时候,操作系统已经自动将它关联到一个叫cmd.exe的可执行程序上了,cmd.exe会去将Windows脚本解析,并执行脚本中的命令.所以更准确的写法应该是将我们编写的Windows脚本作为一个参数传递给cmd.exe,这就是我们平时熟悉的命令行解释器。

三、关于语法

就像上面所讲的,Windows脚本是由DOS命令和一些Windows脚本专用的命令及语法组成的,所有的DOS命令都能在Windows脚本中使用,但有些Windows脚本专用的命令及语法却不能在命令行提示符中使用,比如goto语句,比如rem。至于语法规范,就是要求每一行智能机写一个命令,其它没什么了。

四、关于命令

说到底,这里最主要的东西还是那些脚本里面使用的命令,脚本的能力也主要取决于脚本中使用的命令。下面就列举一些Windows脚本中常用到的一些命令,更多命令的详细解释可以查阅Windows的帮助。

echo

说明:这个命令是用来在输出屏幕上显示你想要显示的信息。Echo on|off可以开启|关闭执行命令的同时在屏幕上显示命令本身的功能。

用法:echo 想要显示的信息

举例:echo ok

执行这个命令之后,屏幕之上将显示ok这两个字符。

set var=ok

echo %var%

顺序执行这两个命令之后,屏幕上将显示ok这两个字符。

set

说明:用来定义一个变量。

用法:set [-参数] 变量名=变量值

见笔记1

举例:set

执行这个命令之后将显示当前环境下已经定义的所有变量,包括变量名和变量值。

set /a test=10/2

echo %test%

将显示5。因为Windows脚本中所有的变量值默认的都是为字符串,所以如果想要在脚本程序中进行数值计算时,可以在set命令中带一个/a参数,这样在这条命令的赋值中可以进行数值计算。

set /p test=

#程序阻塞,等待用户输入一个字符串,回车之后继续执行,假设此时用户输入5

echo %test%

将显示5。set命令带/p参数则可以将用户的输入做为值赋值给定义的变量。

@

说明:严格意义上这并不是一个命令,只能算是Windows脚本中特有的一个标记,它加在一条命令的前面,用来屏蔽掉这条命令本身的显示。

用法:@命令

举例:@echo ok

这条命令执行之后,屏幕上将显示ok这两个字符,但与之前的命令不同的是,它不会将echo ok这条命令本身在屏幕上显示出来。

>&>>

说明:输出重定向命令。将某个命令执行的结果显示重定向输出到指定的文件中,这样可以避免将执行结果的输出显示在执行窗口中。两个命令的区别之处在于>是覆盖原文件的所有内容,>>保留原文件的所有内容,只是将新内容追加在原文件的后面。

用法:命令>文件名

命令>>文件名

举例:cd Temp

dir>>d:\temp.txt

将dir命令执行后的结果显示追加写入到temp.txt文件中,及将Temp目录下的所有文件和文件夹信息都写入到temp.txt文件中。注意,指定的文件可以不存在,命令会自动去创建以指定文件名为文件名的文件。

rem

说明:这也不是严格意义上的命令,相当于C语言中的#符号,是用来写注释的。

用法:rem 注释

举例:rem 这是一行注释

rem说明这行不是一行有效的命令,只是注释,执行的时候会跳过这一行。

pause

说明:这个命令可以让程序暂停执行,并显示“请按任意键继续...”,用户按下任意一个键之后,程序将继续往下执行。

用法:上一条命令

pause

下一条命令

举例:echo ok

pause

echo hello

执行完echo ok之后,程序将暂停下来,在屏幕上显示“请按任意键继续...”,用户按下任意一个键之后,程序将执行echo hello。

call

说明:

五、笔记

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics