full path to source file __FILE__

DigitalDesigns DigitalDesigns at gmail.com
Tue May 29 21:34:02 UTC 2018


On Wednesday, 27 July 2016 at 13:58:22 UTC, Jonathan Marler wrote:
> On Thursday, 21 July 2016 at 19:54:34 UTC, Jonathan Marler 
> wrote:
>> Is there a way to get the full path of the current source 
>> file? Something like:
>>
>> __FILE_FULL_PATH__
>>
>> I'm asking because I'm rewriting a batch script in D, meant to 
>> be ran with rdmd.  However, the script needs to know it's own 
>> path.  The original batch script uses the %~dp0 variable for 
>> this, but I'm at a loss on how to do this in D.  Since rdmd 
>> compiles the executable to the %TEMP% directory, thisExePath 
>> won't work.
>>
>> BATCH
>> -----
>> echo "Directory of this script is " %~dp0
>>
>>
>> DLANG
>> -----
>> import std.stdio;
>> int main(string[] args) {
>>     writeln("Directory of this script is ", ???);
>> }
>
> For others who may see this thread, the __FULL_FILE_PATH__ 
> special trait was added to the dmd compiler with this PR: 
> https://github.com/dlang/dmd/pull/5959
>
> At the time of this post, the latest released version of D is 
> 2.071.1, so this trait should be available on any release after 
> that.

Except it doesn't?

auto x(string fp = __FULL_FILE_PATH__)()
{
    pragma(msg, fp);
}

?


More information about the Digitalmars-d-learn mailing list