将 .vbs 文件单独分组,而不是一次全部分组

Group .vbs files separately rather than all at once

我知道我可以将我的 VBScript 拆分成单独的文件,然后将它们全部包含在一个 .wsf 文件中。像这样:

MyScript.wsf

<job id="MyJob">
   <script language="VBScript" src="File1.vbs" />
   <script language="VBScript" src="File2.vbs" />
   <script language="VBScript" src="File3.vbs" />
   <script language="VBScript" src="File4.vbs" />
</job>

C:\> cscript MyScript.wsf

但是,有没有一种方法可以包含 .wsf 文件或其他一些 .vbs 文件组?这样我就可以将一组文件视为一个单元,而不必单独列出所有文件。

Library1.wsf

<job id="Library1">
   <script language="VBScript" src="File1.vbs" />
   <script language="VBScript" src="File2.vbs" />
   <script language="VBScript" src="File3.vbs" />
   <script language="VBScript" src="File4.vbs" />
</job>

Library2.wsf

<job id="Library2">
   <script language="VBScript" src="File5.vbs" />
   <script language="VBScript" src="File6.vbs" />
   <script language="VBScript" src="File7.vbs" />
   <script language="VBScript" src="File8.vbs" />
</job>

MyScript.wsf

<job id="MyJob">
   <script language="???" src="Library1.wsf" />
   <script language="???" src="Library2.wsf" />
</job>

C:\> cscript MyScript.wsf

一种有点难看但有效的方法是使用 type 命令将部分文件连接在一起。 cscript.exe 虽然不支持管道,因此您必须使用临时文件。类似于以下内容:

Start.txt

<job id="MyJob">

Library1.txt

   <script language="VBScript" src="File1.vbs" />
   <script language="VBScript" src="File2.vbs" />
   <script language="VBScript" src="File3.vbs" />
   <script language="VBScript" src="File4.vbs" />

Library2.txt

   <script language="VBScript" src="File5.vbs" />
   <script language="VBScript" src="File6.vbs" />
   <script language="VBScript" src="File7.vbs" />
   <script language="VBScript" src="File8.vbs" />

End.txt

</job>

C:\> type Start.txt Library1.txt Library2.txt End.txt > temp.wsf & cscript temp.wsf & del temp.wsf

或者我猜你甚至可以把它想象成编译:

build.bat

@echo off
type Start.txt Library1.txt Library2.txt End.txt > MyScript.wsf