Mercurial > octave
comparison scripts/miscellaneous/mkdir.m @ 30211:54520422f056
simplify mkdir and allow it to create parent directory (bug #61166)
* mkdir.m: Always perform tilde expansion on parent. If both parent
and dirname are supplied, use fullfile to concatentate with dirname.
Recursively create all directories.
* system.tst: New test.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 24 Sep 2021 10:46:49 -0400 |
parents | 7854d5752dd2 |
children | 6ed1f02621e2 |
comparison
equal
deleted
inserted
replaced
30210:351dbe4da930 | 30211:54520422f056 |
---|---|
52 | 52 |
53 if (nargin < 1) | 53 if (nargin < 1) |
54 print_usage (); | 54 print_usage (); |
55 endif | 55 endif |
56 | 56 |
57 parent = tilde_expand (parent); | |
58 | |
57 if (nargin == 1) | 59 if (nargin == 1) |
58 dirname = parent; | 60 dirname = parent; |
59 | |
60 if (is_absolute_filename (tilde_expand (dirname))) | |
61 parent = ""; | |
62 else | |
63 parent = [pwd(), filesep]; | |
64 endif | |
65 else | 61 else |
66 parent = [parent, filesep]; | 62 dirname = fullfile (parent, dirname); |
67 endif | 63 endif |
68 | 64 |
65 dirname = make_absolute_filename (dirname); | |
66 | |
69 ## Move leading directory names from dirname to parent | 67 ## Move leading directory names from dirname to parent |
70 [parent, dirname, ext] = fileparts ([parent, dirname]); | 68 [parent, dirname, ext] = fileparts (dirname); |
71 | 69 |
72 [sts, msg, msgid] = mkdir_recur (parent, [dirname, ext]); | 70 [sts, msg, msgid] = mkdir_recur (parent, [dirname, ext]); |
73 | 71 |
74 if (nargout == 0) | 72 if (nargout == 0) |
75 if (! sts) | 73 if (! sts) |