Get the Root Directory: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Wikipedia python library) |
m (Updated author and download links, and changed format of some pages.) |
||
Line 50: | Line 50: | ||
FunctionEnd</highlight-nsis> | FunctionEnd</highlight-nsis> | ||
Page author: KiCHiK | Page author: [[User:KiCHiK|KiCHiK]] |
Revision as of 12:36, 23 April 2005
Description
This function will return the root directory of a given path. It only accepts full paths. If you need to convert a relative path to a full path you can use GetFullPathName.
Examples
Push "C:\Program Files\NSIS\" Call GetRoot Pop $0 DetailPrint "$0 should be C:" Push "\\SuperPimp\NSIS\Source\exehead\Ui.c" Call GetRoot Pop $0 DetailPrint "$0 should be \\SuperPimp\NSIS"
The function:
Function GetRoot Exch $0 Push $1 Push $2 Push $3 Push $4 StrCpy $1 $0 2 StrCmp $1 "\\" UNC StrCpy $0 $1 Goto done UNC: StrCpy $2 3 StrLen $3 $0 loop: IntCmp $2 $3 "" "" loopend StrCpy $1 $0 1 $2 IntOp $2 $2 + 1 StrCmp $1 "\" loopend loop loopend: StrCmp $4 "1" +3 StrCpy $4 1 Goto loop IntOp $2 $2 - 1 StrCpy $0 $0 $2 done: Pop $4 Pop $3 Pop $2 Pop $1 Exch $0 FunctionEnd
Page author: KiCHiK