windows脚本 使用 Windows 脚本文件 (.wsf) 2/4

简介: 要简化脚本编写,可以将一个脚本分成多个部分。使用这种方法,将会创建一个 .wsf 文件并将其用作执行的起点。其他部分可以是 .js 或 .vbs 文件。将从 .wsf 文件中引用这些文件。 该方法使您的代码更为强健,因为它将代码的各个片段隔离开来,允许您一次调试一个片段。

要简化脚本编写,可以将一个脚本分成多个部分。使用这种方法,将会创建一个 .wsf 文件并将其用作执行的起点。其他部分可以是 .js 或 .vbs 文件。将从 .wsf 文件中引用这些文件。

该方法使您的代码更为强健,因为它将代码的各个片段隔离开来,允许您一次调试一个片段。它还使您的代码能重复利用,因为它允许您创建可反复调用的函数。

Windows 脚本文件 (*.wsf) 是含有可扩展标记语言 (XML) 代码的文本文档。

.wsf 文件支持

实现

Include 语句

将函数从 VBScript 或 JScript 文件合并到 Windows 脚本宿主项目中。

<job id="IncludeExample">

<script language="JScript" src="FSO.JS"/>

<script language="VBScript">

' 获得驱动器 C 的可用空间。

s = GetFreeSpace("c:")

WScript.Echo s

<sScript>

</job>

多引擎

每个文件使用多种脚本语言。

<job id="PERLandVBS">
<script language="PerlScript">
sub PerlHello {
my $str = @_[0];
$WScript->Echo($str);
      }
</script>
 
<script language="VBScript">
WScript.Echo "Hello from VBScript"
PerlHello "Hello from PERLScript"
</script>
</job>

类型库

将常数添加到代码中。

<job id="IncludeExample">
<reference object="MyComponent.MyClass">
<script language="VBScript">
Dim MyVar
Set MyVar = CreateObject("MyComponent.MyClass")
Currentreturn = MyVar.MyMethod
If Currentreturn = False then
WScript.Echo MyError
End If
</script>
</job>

工具

使用任何 XML 编辑器编辑文件。

一个文件中的多项作业

将所有的代码存储在一个位置。

该示例中的 "MyFirstJob" 是 MyScripts.wsf 文件中包含的作业名称。

CScript //Job:MyFirstJob MyScripts.wsf
文件结构
<?xml version="1.0" ?>
<package>
       <comment>
       Demo WSH
       </comment>
       <job id="ie">
              <?job error="True" debug="True" ?>
              <runtime>
                    <description>**</description>
                <named name="IP" helpstring="local or remote ip" type="string" required="true" />
                    <named name="U" helpstring="User Name" type="string" />
                    <example></example>
              </runtime>
              <script language="VBScript"><![CDATA[ ?-]]>
              </script>
       </job>
       <job id="office">?-

       
       </job>
</package>

基本上的文件结构和以上类似,具体在“Microsoft Windows脚本技术.CHM”文档或者MSDN

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/script56/html/vtoriMicrosoftWindowsScriptTechnologies.htm

中有描述。

文件关联和执行

选择一个.wsf文件右键可以看到看到其关联的是Wscript.exe,因此双击这样的文件时,就是以wscript.exe执行.wsf文件的

如果手动控制执行,有两个形式:

GUI形式:wscript.exe demo.wsf

Console形式:cscript.exe demo.wsf

[当前路径是demo.wsf的根路径]

在命令行下执行cscript 可以查看执行的参数,常用的有:

//Job:xxx : 执行某个作业

//X : 跟踪

跟踪调试

以demo.wsf为例,执行如下命令行

cscript.exe demo.wsf //Job:jsoffice //X

此时可以进入Script Debugger或者VS2008等开发工具中跟踪,初始定位在第一行,然后设置断点、查看变量等,如下图是进入VS2010的一个跟踪情况

clip_image002

相关文章
|
3月前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
214 1
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
2月前
|
存储 开发框架 .NET
Windows IIS中asp的global.asa全局配置文件使用说明
Windows IIS中asp的global.asa全局配置文件使用说明
54 1
|
2月前
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
1213 1
|
2月前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
88 0
|
3月前
|
Python Windows
python之windows脚本启动bat
python之windows脚本启动bat
|
2月前
|
程序员 Windows
程序员必备文件搜索工具 Everything 带安装包!!! 比windows自带的文件搜索快几百倍!!! 超级好用的文件搜索工具,仅几兆,不占内存,打开即用
文章推荐了程序员必备的文件搜索工具Everything,并提供了安装包下载链接,强调其比Windows自带搜索快且占用内存少。
52 0
|
3月前
|
Windows
7-3|windows删除目录下的所有文件的命令
7-3|windows删除目录下的所有文件的命令
|
3月前
|
Windows
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
4月前
|
安全 Shell Windows
记windows自定义bat脚本自启动
【8月更文挑战第27天】在Windows系统中,可让自定义bat脚本自启动的方法有两种:一是利用“启动”文件夹,通过创建bat脚本的快捷方式并将其放置于该文件夹;二是使用任务计划程序,创建一个启动时触发的任务来运行bat脚本。需确保脚本正确安全,避免对系统产生不良影响。
317 0