Передать переменную powershell в пакетный скрипт

Вот скрипт powershell

$a = get-date -format "MMM-d-yyyy"
Start-Process "D:\Script\send_report.bat"

send_report.bat использует blat для отправки электронной почты

D:
cd "D:\Program Files (x86)\blat321\full"
blat -s "Daily Report" -i "Our Team" -to member1@team.org,member2@team.org -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report.xlsx

Как мне вставить $a в send_report.bat? Я хотел бы значение $a рядом с "Ежедневный отчет"

2 ответа

Решение
@echo off
cd /d "D:\Program Files (x86)\blat321\full"
set "the_date=%~1"
blat -s "Daily Report" -i "Our Team" -to member1@team.org,member2@team.org -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report_%the_date%.xlsx

и называть летучую мышь, как:

$a = get-date -format "MMM-d-yyyy"
Start-Process "D:\Script\send_report.bat" $a

В своем скрипте PowerShell добавьте $a в качестве параметра для командного файла:

Start-Process "D:\Script\send_report.bat" $a

В вашем пакетном файле ссылка на параметр как %1,

blat -s "Daily Report %1" -i "Our Team" -to member1@team.org,member2@team.org -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report.xlsx
Другие вопросы по тегам