634811bf40576dbbecb5522660140fcc999c8f84
[scilab.git] / scilab / modules / fileio / macros / mdelete.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA - Vincent COUVERT
3 // Copyright (C) INRIA - Pierre MARECHAL
4 //
5 // This file must be used under the terms of the CeCILL.
6 // This source file is licensed as described in the file COPYING, which
7 // you should have received as part of this distribution.  The terms
8 // are also available at
9 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10
11 function mdelete(filename)
12         
13         // Scilab Project - V. Couvert
14         // Delete a file given by filename (or a set of files if meta-characters used in filename)
15         
16         // Modified by Pierre MARECHAL
17         // Scilab Team
18         // Date : 2006-06-29
19         // Fix the bug2041
20         
21         // Date : 2007-01-16
22         // Fix the bug2288 (Thanks to M. Dubois, http://dubois.ensae.net )
23         
24         rhs=argn(2);
25         if rhs<>1 then
26                 error(77);
27         end
28         
29         if type(filename)<>10 | size(filename,"*")<>1 then
30                 error("Wrong type argument, expecting a character string");
31         end
32         
33         // Handle file path
34         if MSDOS then
35                 filename=strsubst(filename,filesep(),"/");
36         end
37         
38         // File path
39         k=strindex(filename,"/");
40         
41         if k==[] then
42                 file_path="./";
43         else
44                 file_path = part(filename,1:k($));
45                 filename  = part(filename,k($)+1:length(filename));
46         end
47         
48         if MSDOS then
49                 fullfilename = strsubst(file_path+filename,"/","\");
50                 lst_files    = listfiles(fullfilename);
51                 if lst_files<>[] then
52                         deletefile(fullfilename);
53                 end
54         else
55                 lst_files=listfiles(file_path+filename);
56                 if lst_files<>[] then
57                   deletefile(file_path+filename);
58                 end
59         end
60         
61 endfunction