Returns command line parameters used to call the program

declare function Command ( byval index as long = -1 ) as string

result = Command[$]( [ index ] )

Zero-based index for a particular command-line argument.

Return Value:
Returns the command-line arguments(s).

Command returns command-line arguments passed to the program upon execution.

If index is less than zero (< 0), a space-separated list of all command-line arguments is returned, otherwise, a single argument is returned. A value of zero (0) returns the name of the executable; and values of one (1) and greater return each command-line argument.

If index is greater than the number of arguments passed to the program, the null string ("") is returned.

When the command line is parsed for arguments, everything between double quotes in the parameter list will be considered as a single block, and is returned without the double quotes.

By default, filename globbing for arguments (expansion of wildcards to filenames) is used on all ports of FreeBASIC for compatibility. Arguments on the command line containing wildcards are typically not expanded if when no file is matched or if properly quoted. Other special characters for redirection are typically not returned unless properly quoted. Consult the documentation on the shell being used for more information on the proper quoting of command line arguments.

Disabling filename globbing under Win32
Define the following global variable(s) somewhere in the source:
'' For and Cygwin runtimes:
Extern _CRT_glob Alias "_CRT_glob" As Long
Dim Shared _CRT_glob As Long = 0

'' For MinGW-w64 runtime:
Extern _dowildcard Alias "_dowildcard" As Long
Dim Shared _dowildcard As Long = 0

Disabling filename globbing under Dos
Define the following function somewhere in the source:
Function __crt0_glob_function Alias "__crt0_glob_function" ( ByVal arg As UByte Ptr ) As UByte Ptr Ptr
  Return 0
End Function

Disabling filename globbing under Linux
Filename globbing is handled by the command shell. Quote the argument containing wildcards or disable filename globbing in the shell prior to executing the command. For example in bash use 'set -f' to disable wildcard expansion

Print "program launched via: " & Command(0)

Dim As Integer i = 1
    Dim As String arg = Command(i)
    If Len(arg) = 0 Then
        Exit Do
    End If

    Print "command line argument " & i & " = """ & arg & """"
    i += 1

If i = 1 Then
    Print "(no command line arguments)"
End If


Dialect Differences:
Differences from QB:
See also:
Back to Operating System Functions

Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode