If you are always running your main script as 'Rscript myscript.R' then your file argument will appear as '--file=myscript.R' in commandArgs(). So you can use something like
scriptFile <- function() { pat <- "^--file=" args <- commandArgs() file <- args[grepl(pat, args, args)] normalizePath(sub(pat, "", file)) } Then scriptFile() will give you something to work with. Best, luke On Wed, 10 Oct 2018, Olivier GIVAUDAN wrote: > Dear Eik, > > Thank you for your message. > > Yes, I already got to know this package and this discussion (while I found > the 'here' package). But thanks. > > Best regards, > > Olivier > ________________________________ > De : Eik Vettorazzi <e.vettora...@uke.de> > Envoy??? : lundi 8 octobre 2018 11:30 > ??? : Olivier GIVAUDAN; r-help@r-project.org > Objet : Re: [R] Genuine relative paths with R > > Dear Olivier, > you may find the rprojroot package useful, see > https://github.com/r-lib/rprojroot > > and a discussion > > https://gist.github.com/jennybc/362f52446fe1ebc4c49f#file-2014-10-12_stop-working-directory-insanity-md > > Cheers > > Am 06.10.2018 um 13:48 schrieb Olivier GIVAUDAN: >> Dear R users, >> >> I would like to work with genuine relative paths in R for obvious reasons: >> if I move all my scripts related to some project as a whole to another >> location of my computer or someone else's computer, if want my scripts to >> continue to run seamlessly. >> >> What I mean by "genuine" is that it should not be necessary to hardcode one >> single absolute path (making the code obviously not "portable" - to another >> place - anymore). >> >> For the time being, I found the following related posts, unfortunately never >> conclusive or even somewhat off-topic: >> https://stackoverflow.com/questions/1815606/rscript-determine-path-of-the-executing-script >> https://stackoverflow.com/questions/47044068/get-the-path-of-current-script/47045368 >> http://r.789695.n4.nabble.com/Script-auto-detecting-its-own-path-td2719676.html >> >> So I found 2 workarounds, more or less satisfactory: >> >> >> 1. Either create a variable "ScriptPath" in the first lines of each of >> my R scripts and run a batch (or shell, etc.) to replace every single >> occurrence of "ScriptPath <-" by "ScriptPath <- [Absolute path of the R >> script]" in all the R scripts located in the folder (and possibly >> subfolders) of the batch file. >> 2. Or create an R project file with RStudio and use the package "here" >> to get the absolute path of the R project file and put all the R scripts >> related to this project in the R project directory, as often recommended. >> >> But I am really wondering why R doesn't have (please tell me if I'm wrong) >> this basic feature as many other languages have it (batch, shell, C, LaTeX, >> SAS with macro-variables, etc.)? >> Do you know whether the language will have this kind of function in a near >> future? What are the obstacles / what is the reasoning for not having it >> already? >> >> Do you know other workarounds? >> >> Best regards, >> >> Olivier >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> > > -- > Eik Vettorazzi > > Department of Medical Biometry and Epidemiology > University Medical Center Hamburg-Eppendorf > > Martinistrasse 52 > building W 34 > 20246 Hamburg > > Phone: +49 (0) 40 7410 - 58243 > Fax: +49 (0) 40 7410 - 57790 > Web: www.uke.de/imbe<http://www.uke.de/imbe> > -- > > _____________________________________________________________________ > > Universit???tsklinikum Hamburg-Eppendorf; K???rperschaft des ???ffentlichen > Rechts; Gerichtsstand: Hamburg | www.uke.de > Vorstandsmitglieder: Prof. Dr. Burkhard G???ke (Vorsitzender), Prof. Dr. Dr. > Uwe Koch-Gromus, Joachim Pr???l???, Martina Saurin (komm.) > _____________________________________________________________________ > > SAVE PAPER - THINK BEFORE PRINTING > > [[alternative HTML version deleted]] > > -- Luke Tierney Ralph E. Wareham Professor of Mathematical Sciences University of Iowa Phone: 319-335-3386 Department of Statistics and Fax: 319-335-3017 Actuarial Science 241 Schaeffer Hall email: luke-tier...@uiowa.edu Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.