Tips

ファイルのパスから親フォルダのパスを特定する方法

日付2009/12/09
ID75956 (英語原文参照)
バージョン11.5
プラットフォームMac & Win

この記事は、最新ではないバージョンに関連した方法について解説しています。

最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。

以下はファイルのパスから親フォルダのパスを特定する簡単なメソッドです。

` --[HEADERSTART]-------------------------------------
` Description:
` Given a path to a file, get the path to the parent folder.
`
` If a path to a folder is provided and is not terminated by
` a separator, the path to the containing folder will be returned.
`
` Parameters:
` C_TEXT($1) = path to the file
` Return Value:
` C_TEXT($0) = path to the parent folder
` --[HEADEREND]---------------------------------------

C_TEXT($1;$pathToFile)
C_TEXT($0;$pathToParentFolder)

C_TEXT($temp;$separator)
C_LONGINT($pos;$last)

$pathToFile:=$1
$temp:=$pathToFile

$separator:=(Get 4D folder(Database Folder )[[Length(Get 4D folder(Database Folder ))]])

$last:=0
$pos:=0

Repeat 
  $pos:=Position($separator;$temp)
  If ($pos>0)
    $last:=$last+$pos
  End if 
  $temp:=Substring($temp;$pos+1)
Until ($pos=0)

$pathToParentFolder:=Substring($pathToFile;1;$last)

$0:=$pathToParentFolder