full path to source file __FILE__

Jonathan Marler via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 27 06:58:22 PDT 2016


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.


More information about the Digitalmars-d-learn mailing list