用COMMAND. Command 函数示例 本示例在某个函数中用 Command 函数获得命令行参数,并将命令行参数以 Variant 类型之数组返回。Function GetCommandLine(Optional MaxArgs) '声明变量。 Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs '检查是否提供了 MaxArgs 参数。 If IsMissing(MaxArgs) Then MaxArgs = 10 ' 使数组的大小合适。 ReDim ArgArray(MaxArgs) NumArgs = 0: InArg = False '取得命令行参数。 CmdLine = Command() CmdLnLen = Len(CmdLine) '以一次一个字符的方式取出命令行参数。 For I = 1 To CmdLnLen C = Mid(CmdLine, I, 1) '检测是否为 space 或 tab。 If (C <> " " And C <> vbTab) Then '若既不是 space 键,也不是 tab 键, '则检测是否为参数内含之字符。 If Not InArg Then '新的参数。 '检测参数是否过多。 If NumArgs = MaxArgs Then Exit For NumArgs = NumArgs + 1 InArg = True End If '将字符连接到当前参数中。 ArgArray(NumArgs) = ArgArray(NumArgs) & C Else '找到 space 或 tab。 '将 InArg 标志设置成 False。 InArg = False End If Next I '调整数组大小使其刚好符合参数个数。 ReDim Preserve ArgArray(NumArgs) '将数组返回。 GetCommandLine = ArgArray() End Function
多谢,再多问一句,编译成一个nd.exe程序,在命令行中直接执行nd user pwd就可以吗,我以为在命令行中执行目录下的nd.exe,带上参数可以执行吗
Command 函数示例
本示例在某个函数中用 Command 函数获得命令行参数,并将命令行参数以 Variant 类型之数组返回。Function GetCommandLine(Optional MaxArgs)
'声明变量。
Dim C, CmdLine, CmdLnLen, InArg, I, NumArgs
'检查是否提供了 MaxArgs 参数。
If IsMissing(MaxArgs) Then MaxArgs = 10
' 使数组的大小合适。
ReDim ArgArray(MaxArgs)
NumArgs = 0: InArg = False
'取得命令行参数。
CmdLine = Command()
CmdLnLen = Len(CmdLine)
'以一次一个字符的方式取出命令行参数。
For I = 1 To CmdLnLen
C = Mid(CmdLine, I, 1)
'检测是否为 space 或 tab。
If (C <> " " And C <> vbTab) Then
'若既不是 space 键,也不是 tab 键,
'则检测是否为参数内含之字符。
If Not InArg Then
'新的参数。
'检测参数是否过多。
If NumArgs = MaxArgs Then Exit For
NumArgs = NumArgs + 1
InArg = True
End If
'将字符连接到当前参数中。
ArgArray(NumArgs) = ArgArray(NumArgs) & C
Else
'找到 space 或 tab。
'将 InArg 标志设置成 False。
InArg = False
End If
Next I
'调整数组大小使其刚好符合参数个数。
ReDim Preserve ArgArray(NumArgs)
'将数组返回。
GetCommandLine = ArgArray()
End Function