zoukankan      html  css  js  c++  java
  • windows脚本 使用 Windows 脚本文件 (.wsf) 2/4

    要简化脚本编写,可以将一个脚本分成多个部分。使用这种方法,将会创建一个 .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

  • 相关阅读:
    更好的处理 Python 多工程 import 依赖
    Django 前后台的数据传递
    Django传递数据给JS
    nodejs 设置跨域访问
    Node.js + Express
    前端用户输入校验--基于JQ
    git统计当前分支提交次数
    gitlab相关
    CentOS7使用firewalld打开关闭防火墙与端口
    puppeteer安装/爬取数据
  • 原文地址:https://www.cnblogs.com/2018/p/1831552.html
Copyright © 2011-2022 走看看