Pass powershell variable to batch script

Glowie picture Glowie · Oct 8, 2014 · Viewed 10.9k times · Source

Here is powershell script

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

send_report.bat uses blat to send email

D:
cd "D:\Program Files (x86)\blat321\full"
blat -s "Daily Report" -i "Our Team" -to [email protected],[email protected] -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report.xlsx

How do I insert $a into send_report.bat? I would like value of $a next to "Daily Report"

Answer

aphoria picture aphoria · Oct 8, 2014

In your PowerShell script, add $a as a parameter to the batch file:

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

In you batch file reference the parameter as %1.

blat -s "Daily Report %1" -i "Our Team" -to [email protected],[email protected] -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report.xlsx