Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   NSIS Discussion (http://forums.winamp.com/forumdisplay.php?f=65)
-   -   Setup with a single command line argument (http://forums.winamp.com/showthread.php?t=326184)

isawen 19th January 2011 11:20

Setup with a single command line argument
 
Hi again,

Probably this is how the actual ${GetOption} command works, but I wanted to be sure.
Let's assume my installer parses the command line arguments passed when executed and it searches for this flag option "/argument1".

code:

ClearErrors
${GetOptions} $cmdLineParams '/argument1' $R0
IfErrors +2 0



If I execute the installer and pass the /argument1234 it detects that /argument1 was passed. Is there a way to avoid this situation?

Thanks,
Isa

Yathosho 19th January 2011 11:30

use GetParameters

isawen 19th January 2011 11:34

I'm not sure what do you mean by ${GetParameter}.
I'm using it to get the command line arguments into my $cmdLineParams variable.

820815 19th January 2011 14:24

use the /argument=1 then StrCmp $R0 1

isawen 19th January 2011 14:30

That could be a solution but it's more fashion way to have a simple flag (without any value). If this is not possible then I will consider using this.

Thanks,
Isa

isawen 19th January 2011 14:33

Quote:

Originally Posted by 820815 (Post 2737912)
use the /argument=1 then StrCmp $R0 1

My flag name is argument1, but that doesn't mean I'm parsing the last 1 from the argument.
Maybe I have choosed a bad name for the argument.

My point is that if you want to have just a flag to be passed as the argument, when you pass as argument a string that begins with your flag the NSIS will consider the flag present it's like the argument you are passing is somehow truncated.

Afrow UK 19th January 2011 14:47

If you want to match /argument1 exactly then you'll have to also check $R0 is an empty string.

Stu

isawen 19th January 2011 15:12

Quote:

Originally Posted by Afrow UK (Post 2737929)
If you want to match /argument1 exactly then you'll have to also check $R0 is an empty string.

Indeed, how come this didn't cross my tired mind.
Again thanks for your help.


All times are GMT. The time now is 17:40.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.