Curl Global Community

Full Version: カレントディレクトリの取得
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
コード上でカレントディレクトリを取得する方法がわかりません。
カレントディレクトリを取得する方法についてご教示ください。
なにに対するカレントなのかということにもよりますが、
Curlでよく使うディレクトリ位置の取得には、下記のようなものがあるかと思います。

{get-working-directory-url}:「作業ディレクトリ」の取得
{get-the-applet}.url.parent:実行されているアプレットのディレクトリ

他にもURL表現を取得するには{this-url}、{get-base-url}などがあるようです。
umemura様のおっしゃるように"カレントディレクトリ"が何に対してカレントなのか
判然としませんが、以下のコードをローカルで実行した場合、Webサーバ上において実行した場合に、
このような結果が取得できます。

Code:
{value
    let current:Url = {url ""}
    let base-dir-url:Url = {url "curl://user-data/9"}
    {base-dir-url.canonicalize}
    
    {VBox
        current.full-filename,
        {base-dir-url.canonicalize}.full-filename
    }
}

ローカルで実行した場合
Code:
file:///c:/Users/Administrator/Desktop/dddddd.curl
file:///c:/Users/Administrator/AppData/Local/Curl Corporation/Surge/9

Webサーバ上に配置して実行した場合
Code:
http://localhost/dddddd.curl
file:///c:/Users/Administrator/AppData/Local/Curl Corporation/Surge/9

{url ""}で、実行されているアプレットのファイルの場所。
Webサーバ上に配置して実行した場合はhttpから始まるURLが取得できます。

そうではなくてローカル端末の何らかの起点からのカレントディレクトリを取得したい場合は、
起点となるディレクトリを指定して
(このサンプルでは、{url "curl://user-data/9"}というCurl特有のディレクトリ。
これはCurlが使用している"user-data"のパスを示します。)