如何将多个变量从 VBS 传递到批处理脚本?

How can multiple variable be passed from VBS to batch script?

我有以下 .bat 文件用于 运行 一系列作业:

  1. 运行 计算周一和周六前几周日期的 vbs 脚本
  2. 运行 一系列带有计算日期的命令,用于从商业金融应用程序中提取数据
  3. 运行 要加载的 vbs 脚本和 运行 Excel 宏

批处理文件的第一部分如下:

echo off
rem Get last weeks Monday-Saturday dates
for /F %%n in ('cscript.exe //nologo GetLastWeek.VBS') do set LastWeek=%%n

GetLastWeek.vbs如下:

GetThisMonday = DateSerial(Year(Date), Month(Date), Day(Date) - DatePart("w", Date) + 1)
GetThisMonday=DateAdd("d",+1,GetThisMonday)
GetLastMonday=DateAdd("ww",-1,GetThisMonday)
GetLastSaturday=DateAdd("d",+6,GetLastMonday)
wscript.echo GetLastMonday

返回 1 个日期 (GetLastMonday) 效果很好,但我还需要第二个日期 (GetLastSaturday)。

我需要做什么才能将这两个值传回 bat 文件?

谢谢。

之前有人在这里发表评论,然后出于某种原因将其删除 - 但它让我思考并尝试了一些我以前没有想到的事情。以下更改似乎适用于我正在寻找的内容:

wscript.echo GetLastMonday & "," & GetLastSaturday

for /f "tokens=1,2 delims=," %%A in ('cscript //nologo lastweek.vbs') do @echo %%A %%B 

这是我如何在 中执行此操作的一个示例:

<!-- :
@Echo Off
For /F "Tokens=1,2Delims=," %%G In ('^""%__AppDir__%cscript.exe" //NoLogo "%~f0?.wsf"^"'
)Do Set "LastMon=%%G"&Set "LastSat=%%H"
Rem Rest of code below here.
Set LastMon
Set LastSat
Pause
Rem No more code below here.
Exit /B
-->
<Job><Script Language="VBScript">
    WScript.Echo(Date-Weekday(Date,vbTuesday)&","&Date-Weekday(Date,vbSunday))
</Script></Job>