Jump to content

Accessing command line parameter


Recommended Posts

Hello,

I'm new to AutoIt and I've become stuck using command line parameters.

I've written a small script which I have compiled. I call the executable as follows:

thunderbird_send.exe "email.address@domain.com"

At the moment, the script has these two lines:

MsgBox(64, "Tutorial", $CmdLine[1])

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to=$CmdLine[1]")

The first line causes a small dialog box to display the parameter that was passed in

(i.e. email.address@domain.com is displayed in the dialog box).

This satisfies me that the parameter is being passed into the executable from the command line successfully.

The problem I have arises when the second line is executed: instead of email.address@domain.com being passed to Thunderbird, what happens is that the literal string $CmdLine[1] is passed to Thunderbird. So, for some reason the value within $CmdLine[1] is not being accessed in this case.

If I hard code the email address into the line then everything works fine:

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to=email.address@domain.com")

I have tried putting quotes around $CmdLine[1] to give:

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to="$CmdLine[1]"")

but this doesn't work. In fact I've tried many combinations of double quotes, single quotes, back ticks, percentage signs and nothing seems to work. I would appreciate it if anyone could let me know where I may be going wrong.

Link to comment
Share on other sites

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to=" & $CmdLine[1]")

Cannot use quotes when running something from the command line, nor any variable.

Good day.

Finish the quotes, then use & to tell it, something else is coming, then use the Variable.

When you use this:

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to=$CmdLine[1]")

This is actually whats being sent:

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose to=$CmdLine[1]")

its sending: "$CmdLine[1]" NOT $Cmdline[1] Variable.

Edited by R6V2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...