 <p>You can make use of <code>dir.create</code> in conjunction with <code>paste</code> and <code>Sys.Date</code>, like this:</p> <pre><code>dir.create(paste("Test", Sys.Date(), sep = "_")) </code></pre> <p>If you want to change into that directory, I would suggest storing the output of <code>paste</code> as a character vector and using <code>setwd</code> after creating the new directory.</p> <p>Demo:</p> <pre><code>x &lt;- getwd() ## I'm going to demo in a tempdir setwd(tempdir()) list.dirs() # [1] "." # [2] "./downloaded_packages" # [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576" newdir &lt;- paste("Test", Sys.Date(), sep = "_") dir.create(newdir) setwd(newdir) list.dirs() # [1] "." # [2] "./downloaded_packages" # [3] "./rs-graphics-16e13b20-59b3-4ef3-bdcd-02852b1ea576" # [4] "./Test_2014-09-03" setwd(x) ## Reset to original working directory </code></pre> <hr> <p>You could always create a function like the following, but be careful of recursion!</p> <pre><code>Today &lt;- function(prefix = "Test") { newdir &lt;- paste(prefix, Sys.Date(), sep = "_") dir.create(newdir) setwd(newdir) } </code></pre> <p>This could be called simply with <code>Today()</code> and would create the necessary directory in whatever directory you're currently in and set your working directory to that new directory.</p>