Как можно передать несколько переменных из VBS в пакетный скрипт? - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть следующий файл .bat, который используется для запуска ряда заданий:

  1. запускает скрипт vbs для вычисления дат предыдущих недель для понедельника и субботы
  2. run серия команд с датами, рассчитанными для извлечения данных из коммерческого коммерческого приложения
  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?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Вот один пример того, как я могу сделать это в :

<!-- :
@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>
0 голосов
/ 01 февраля 2020

Кто-то ранее комментировал здесь, а затем по какой-то причине удалил его - но это go я думал и пробовал некоторые вещи, о которых раньше не думал. Следующие изменения, кажется, работают для того, что я искал:

wscript.echo GetLastMonday & "," & GetLastSaturday

for /f "tokens=1,2 delims=," %%A in ('cscript //nologo lastweek.vbs') do @echo %%A %%B 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...