Mercurial > octave-nkf
comparison scripts/miscellaneous/copyfile.m @ 6047:176f1c58a474
[project @ 2006-10-10 19:13:49 by jwe]
author | jwe |
---|---|
date | Tue, 10 Oct 2006 19:13:49 +0000 |
parents | |
children | 67b1a61a85ce |
comparison
equal
deleted
inserted
replaced
6046:34f96dd5441b | 6047:176f1c58a474 |
---|---|
1 ## Copyright (C) 2005 John W. Eaton | |
2 ## | |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 2, or (at your option) | |
8 ## any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, write to the Free | |
17 ## Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA | |
18 ## 02110-1301, USA. | |
19 | |
20 ## -*- texinfo -*- | |
21 ## @deftypefn {Function File} {[@var{status}, @var{msg}, @var{msgid}] =} movefile (@var{f1}, @var{f2}) | |
22 ## Move the file @var{f1} to the new name @var{f2}. The name @var{f1} | |
23 ## may contain globbing patterns. If @var{f1} expands to multiple file | |
24 ## names, @var{f2} must be a directory. | |
25 ## | |
26 ## If successful, @var{status} is 1, with @var{msg} and @var{msgid} empty\n\ | |
27 ## character strings. Otherwise, @var{status} is 0, @var{msg} contains a\n\ | |
28 ## system-dependent error message, and @var{msgid} contains a unique\n\ | |
29 ## message identifier.\n\ | |
30 ## @seealso{glob} | |
31 ## @end deftypefn | |
32 | |
33 function [status, msg, msgid] = copyfile (f1, f2, force) | |
34 | |
35 status = true; | |
36 msg = ""; | |
37 msgid = ""; | |
38 | |
39 if (nargin == 2 || nargin == 3) | |
40 if (nargin == 3 && strcmp (force, "f")) | |
41 cmd = "/bin/cp -rf"; | |
42 else | |
43 cmd = "/bin/cp -r"; | |
44 endif | |
45 [err, msg] = system (sprintf ("%s %s %s", cmd, f1, f2)); | |
46 if (err < 0) | |
47 status = false; | |
48 msgid = "copyfile"; | |
49 endif | |
50 else | |
51 print_usage (); | |
52 endif | |
53 | |
54 endfunction |