source: MML/trunk/applications/doc_html/applications/common/gotodirectory.html @ 4

Last change on this file since 4 was 4, checked in by zhangj, 10 years ago

Initial import--MML version from SOLEIL@2013

File size: 7.2 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of gotodirectory</title>
6  <meta name="keywords" content="gotodirectory">
7  <meta name="description" content="GOTODIRECTORY - Goto a directory creating the path if necessary">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../../index.html">Home</a> &gt;  <a href="#">applications</a> &gt; <a href="index.html">common</a> &gt; gotodirectory.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../../index.html"><img alt="<" border="0" src="../../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for applications/common&nbsp;<img alt=">" border="0" src="../../right.png"></a></td></tr></table>-->
19
20<h1>gotodirectory
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
24<div class="box"><strong>GOTODIRECTORY - Goto a directory creating the path if necessary</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
27<div class="box"><strong>function [FinalDir, ErrorFlag] = gotodirectory(GotoDir) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
30<div class="fragment"><pre class="comment">GOTODIRECTORY - Goto a directory creating the path if necessary
31  [FinalDir, ErrorFlag] = gotodirectory(DirName)
32
33  Go to directory DirName.  Creates all the necessary directories along the way.
34  DirName must start from the root of the tree or the present directory.  '.' does nothing.
35
36  Written by Greg Portmann</pre></div>
37
38<!-- crossreference -->
39<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
40This function calls:
41<ul style="list-style-image:url(../../matlabicon.gif)">
42</ul>
43This function is called by:
44<ul style="list-style-image:url(../../matlabicon.gif)">
45</ul>
46<!-- crossreference -->
47
48
49<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../up.png"></a></h2>
50<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function [FinalDir, ErrorFlag] = gotodirectory(GotoDir)</a>
510002 <span class="comment">%GOTODIRECTORY - Goto a directory creating the path if necessary</span>
520003 <span class="comment">%  [FinalDir, ErrorFlag] = gotodirectory(DirName)</span>
530004 <span class="comment">%</span>
540005 <span class="comment">%  Go to directory DirName.  Creates all the necessary directories along the way.</span>
550006 <span class="comment">%  DirName must start from the root of the tree or the present directory.  '.' does nothing.</span>
560007 <span class="comment">%</span>
570008 <span class="comment">%  Written by Greg Portmann</span>
580009
590010
600011 ErrorFlag = 0;
610012
620013 <span class="keyword">if</span> nargin == 0
630014     FinalDir = [pwd filesep];
640015     <span class="keyword">return</span>
650016 <span class="keyword">elseif</span> isempty(GotoDir)
660017     FinalDir = [pwd filesep];
670018     <span class="keyword">return</span>
680019 <span class="keyword">elseif</span> strcmp(GotoDir,<span class="string">'.'</span>)
690020     FinalDir = [pwd filesep];
700021     <span class="keyword">return</span>
710022 <span class="keyword">end</span>
720023
730024
740025 <span class="comment">%%%%%%%%%%%%%%%%%%%</span>
750026 <span class="comment">% Go to directory %</span>
760027 <span class="comment">%%%%%%%%%%%%%%%%%%%</span>
770028
780029 <span class="comment">% Find the file separators</span>
790030 k = findstr(GotoDir, filesep);
800031
810032 <span class="keyword">if</span> isempty(k)
820033     <span class="comment">% Add a filesep to the end</span>
830034     GotoDir(end+1) = filesep;
840035     k(1) = length(GotoDir);
850036 <span class="keyword">else</span>
860037     <span class="comment">% If k starts with a filesep, then remove the index to it</span>
870038     <span class="keyword">if</span> k(1) == 1
880039         k(1) = [];
890040     <span class="keyword">end</span>
900041     <span class="comment">% Try again</span>
910042     <span class="keyword">if</span> length(k) &gt;= 1
920043         <span class="keyword">if</span> k(1) == 2
930044             k(1) = [];
940045             <span class="keyword">if</span> ispc &amp;&amp; length(k) &gt;= 1
950046                 k(1) = [];
960047             <span class="keyword">end</span>
970048         <span class="keyword">end</span>
980049     <span class="keyword">end</span>
990050     <span class="comment">% And again</span>
1000051     <span class="keyword">if</span> length(k) &gt;= 1
1010052         <span class="keyword">if</span> k(1) == 3
1020053             k(1) = [];
1030054         <span class="keyword">end</span>
1040055     <span class="keyword">end</span>
1050056 <span class="keyword">end</span>
1060057
1070058 <span class="comment">% If doesnot end with a filesep, then add one</span>
1080059 <span class="keyword">if</span> ~strcmp(GotoDir(end), filesep)
1090060     GotoDir(end+1) = filesep;
1100061     k(end+1) = length(GotoDir);
1110062 <span class="keyword">end</span>
1120063
1130064
1140065 <span class="comment">% Try to cd as far as possible</span>
1150066 j = 1;
1160067 <span class="keyword">for</span> i = 1:length(k)
1170068     <span class="comment">%GotoDir(j:k(i))</span>
1180069     <span class="keyword">try</span>
1190070         cd(GotoDir(j:k(i)));
1200071     <span class="keyword">catch</span>
1210072         <span class="comment">% Create that directory</span>
1220073         [Success, msg] = mkdir(GotoDir(j:k(i)));
1230074         <span class="keyword">if</span> Success
1240075             cd(GotoDir(j:k(i)));
1250076         <span class="keyword">else</span>
1260077             <span class="keyword">if</span> ispc
1270078                 ErrorFlag = 1;
1280079                 fprintf(<span class="string">'   Problem creating directory: %s\n'</span>, msg);
1290080                 <span class="keyword">break</span>
1300081             <span class="keyword">else</span>
1310082                 <span class="comment">% I'm getting a tcsh error that's not really can error so I have a test another way</span>
1320083                 <span class="keyword">try</span>
1330084                     cd(GotoDir(j:k(i)));
1340085                 <span class="keyword">catch</span>
1350086                     ErrorFlag = 1;
1360087                     fprintf(<span class="string">'   Problem creating directory: %s\n'</span>, msg);
1370088                     <span class="keyword">break</span>
1380089                 <span class="keyword">end</span>
1390090             <span class="keyword">end</span>
1400091         <span class="keyword">end</span>
1410092     <span class="keyword">end</span>
1420093     j = k(i) + 1;
1430094 <span class="keyword">end</span>
1440095
1450096
1460097 <span class="comment">% Return</span>
1470098 FinalDir = pwd;
1480099 FinalDir = [FinalDir filesep];
1490100</pre></div>
150<hr><address>Generated on Mon 21-May-2007 15:32:41 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
151</body>
152</html>
Note: See TracBrowser for help on using the repository browser.