Curl Global Community
カレントディレクトリの取得 - Printable Version

+- Curl Global Community (https://communities.curl.com)
+-- Forum: Discussions (https://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (https://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: カレントディレクトリの取得 (/showthread.php?tid=1214)



カレントディレクトリの取得 - Yudai-s - 03-08-2015

コード上でカレントディレクトリを取得する方法がわかりません。
カレントディレクトリを取得する方法についてご教示ください。



RE: カレントディレクトリの取得 - umemura - 03-09-2015

なにに対するカレントなのかということにもよりますが、
Curlでよく使うディレクトリ位置の取得には、下記のようなものがあるかと思います。

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

他にもURL表現を取得するには{this-url}、{get-base-url}などがあるようです。



RE: カレントディレクトリの取得 - dankom - 03-09-2015

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"のパスを示します。)