Pass powershell variable to batch script

10,915

Solution 1

@echo off
cd /d "D:\Program Files (x86)\blat321\full"
set "the_date=%~1"
blat -s "Daily Report" -i "Our Team" -to [email protected],[email protected] -body "Please see attached." -priority 1 -attach D:\Script\Daily_Report_%the_date%.xlsx

and call the bat like :

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

Solution 2

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
Share:
10,915
Glowie
Author by

Glowie

Updated on June 15, 2022

Comments

  • Glowie
    Glowie almost 2 years

    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"