上一頁 | 目錄 | 下一頁

C.1 取得上層目錄

 ; GetParent
 ; 輸入,堆棧頂部  (例如 C:\Program Files\Poop)
 ; 輸出,堆棧頂部 (替換,例如 C:\Program Files)
 ; 不改變其它變量值。
 ;
 ; 用法:
 ;   Push "C:\Program Files\Directory\Whatever"
 ;   Call GetParent
 ;   Pop $R0
 ;   ; 在這裡 $R0 將等於"C:\Program Files\Directory"

 Function GetParent
 
   Exch $R0
   Push $R1
   Push $R2
   Push $R3
   
   StrCpy $R1 0
   StrLen $R2 $R0
   
   loop:
     IntOp $R1 $R1 + 1
     IntCmp $R1 $R2 get 0 get
     StrCpy $R3 $R0 1 -$R1
     StrCmp $R3 "\" get
     Goto loop
   
   get:
     StrCpy $R0 $R0 -$R1
     
     Pop $R3
     Pop $R2
     Pop $R1
     Exch $R0
     
 FunctionEnd

上一頁 | 目錄 | 下一頁