当前位置: 首页 > 文档资料 > NSIS 用户手册 >

C.3 获取命令行参数

优质
小牛编辑
137浏览
2023-12-01
 ; GetParameters
 ; 输入,无
 ; 输出,堆栈顶 (替换,例如 whatever)
 ; 不改变其它变量值。
 Function GetParameters
   Push $R0
   Push $R1
   Push $R2
   Push $R3
   StrCpy $R2 1
   StrLen $R3 $CMDLINE
   ;Check for quote or space
   StrCpy $R0 $CMDLINE $R2
   StrCmp $R0 '"' 0 +3
     StrCpy $R1 '"'
     Goto loop
   StrCpy $R1 " "
   loop:
     IntOp $R2 $R2 + 1
     StrCpy $R0 $CMDLINE 1 $R2
     StrCmp $R0 $R1 get
     StrCmp $R2 $R3 get
     Goto loop
   get:
     IntOp $R2 $R2 + 1
     StrCpy $R0 $CMDLINE 1 $R2
     StrCmp $R0 " " get
     StrCpy $R0 $CMDLINE "" $R2
   Pop $R3
   Pop $R2
   Pop $R1
   Exch $R0
 FunctionEnd