<?xml version="1.0" encoding="utf-8" ?> <!-- for emacs: -*- coding: utf-8 -*- --> <!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head><title>copyDirectory(String,String)</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_remove__Directory.html">next</a> | <a href="_make__Directory_lp__String_rp.html">previous</a> | <a href="_remove__Directory.html">forward</a> | <a href="_make__Directory_lp__String_rp.html">backward</a> | <a href="_file_spmanipulation.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div> </td> </tr> </table> <div><a href="index.html" title="">Macaulay2Doc</a> > <a href="___The_sp__Macaulay2_splanguage.html" title="">The Macaulay2 language</a> > <a href="_file_spmanipulation.html" title="Unix file manipulation functions">file manipulation</a> > <a href="_copy__Directory_lp__String_cm__String_rp.html" title="">copyDirectory(String,String)</a></div> <hr/> <div><h1>copyDirectory(String,String)</h1> <div class="single"><h2>Synopsis</h2> <ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>copyDirectory(src,dst)</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_copy__Directory_lp__String_cm__String_rp.html" title="">copyDirectory</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>src</tt>, <span>a <a href="___String.html">string</a></span></span></li> <li><span><tt>dst</tt>, <span>a <a href="___String.html">string</a></span></span></li> </ul> </div> </li> <li><div class="single">Consequences:<ul><li>a copy of the directory tree rooted at <tt>src</tt> is created, rooted at <tt>dst</tt></li> </ul> </div> </li> <li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><tt>Exclude => </tt><span><span>default value {}</span>, a string containing a regular expression, or a list of such strings. If the base part of the name of a file in the source tree matches one of the regular expressions, then no link to it is created</span></span></li> <li><span><tt>UpdateOnly => </tt><span><span>a <a href="___Boolean.html">Boolean value</a></span>, <span>default value false</span>, whether to copy files only if the target file does not exist or is older than the source file</span></span></li> <li><span><tt>FollowLinks => </tt><span><span>a <a href="___Boolean.html">Boolean value</a></span>, <span>default value false</span>, whether to follow symbolic links in the source tree to directories</span></span></li> <li><span><tt>Verbose => </tt><span><span>a <a href="___Boolean.html">Boolean value</a></span>, <span>default value false</span>, whether to report individual file operations</span></span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><table class="examples"><tr><td><pre>i1 : src = temporaryFileName() | "/" o1 = /tmp/M2-20694-1/</pre> </td></tr> <tr><td><pre>i2 : dst = temporaryFileName() | "/" o2 = /tmp/M2-20694-2/</pre> </td></tr> <tr><td><pre>i3 : makeDirectory (src|"a/")</pre> </td></tr> <tr><td><pre>i4 : makeDirectory (src|"b/")</pre> </td></tr> <tr><td><pre>i5 : makeDirectory (src|"b/c/")</pre> </td></tr> <tr><td><pre>i6 : src|"a/f" << "hi there" << close o6 = /tmp/M2-20694-1/a/f o6 : File</pre> </td></tr> <tr><td><pre>i7 : src|"a/g" << "hi there" << close o7 = /tmp/M2-20694-1/a/g o7 : File</pre> </td></tr> <tr><td><pre>i8 : src|"b/c/g" << "ho there" << close o8 = /tmp/M2-20694-1/b/c/g o8 : File</pre> </td></tr> <tr><td><pre>i9 : stack findFiles src o9 = /tmp/M2-20694-1/ /tmp/M2-20694-1/b/ /tmp/M2-20694-1/b/c/ /tmp/M2-20694-1/b/c/g /tmp/M2-20694-1/a/ /tmp/M2-20694-1/a/g /tmp/M2-20694-1/a/f</pre> </td></tr> <tr><td><pre>i10 : copyDirectory(src,dst,Verbose=>true) --copying: /tmp/M2-20694-1/b/c/g -> /tmp/M2-20694-2/b/c/g --copying: /tmp/M2-20694-1/a/g -> /tmp/M2-20694-2/a/g --copying: /tmp/M2-20694-1/a/f -> /tmp/M2-20694-2/a/f</pre> </td></tr> <tr><td><pre>i11 : copyDirectory(src,dst,Verbose=>true,UpdateOnly => true) --skipping: /tmp/M2-20694-1/b/c/g not newer than /tmp/M2-20694-2/b/c/g --skipping: /tmp/M2-20694-1/a/g not newer than /tmp/M2-20694-2/a/g --skipping: /tmp/M2-20694-1/a/f not newer than /tmp/M2-20694-2/a/f</pre> </td></tr> <tr><td><pre>i12 : stack findFiles dst o12 = /tmp/M2-20694-2/ /tmp/M2-20694-2/b/ /tmp/M2-20694-2/b/c/ /tmp/M2-20694-2/b/c/g /tmp/M2-20694-2/a/ /tmp/M2-20694-2/a/g /tmp/M2-20694-2/a/f</pre> </td></tr> <tr><td><pre>i13 : get (dst|"b/c/g") o13 = ho there</pre> </td></tr> </table> Now we remove the files and directories we created.<table class="examples"><tr><td><pre>i14 : rm = d -> if isDirectory d then removeDirectory d else removeFile d o14 = rm o14 : FunctionClosure</pre> </td></tr> <tr><td><pre>i15 : scan(reverse findFiles src, rm)</pre> </td></tr> <tr><td><pre>i16 : scan(reverse findFiles dst, rm)</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_symlink__Directory_lp__String_cm__String_rp.html" title="make symbolic links for all files in a directory tree">symlinkDirectory</a> -- make symbolic links for all files in a directory tree</span></li> </ul> </div> </div> </body> </html>