25d9cb61116b83ad6e8deb8bbd98556e8d19df33
[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 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13
14 function mdelete(filename)
15
16     // Scilab Project - V. Couvert
17     // Delete a file given by filename (or a set of files if meta-characters used in filename)
18
19     // Modified by Pierre MARECHAL
20     // Scilab Team
21     // Date : 2006-06-29
22     // Fix the bug2041
23
24     // Date : 2007-01-16
25     // Fix the bug2288 (Thanks to M. Dubois, http://dubois.ensae.net )
26
27     rhs = argn(2);
28     if rhs <> 1 then
29         error(77);
30     end
31
32     if type(filename) <> 10 | size(filename,"*") <> 1 then
33         error(msprintf(gettext("%s: Wrong type for input argument: String expected.\n"),"mdelete"));
34     end
35
36     // Handle file path
37     if getos() == "Windows" then
38         filename = strsubst(filename,filesep(),"/");
39     end
40
41     // File path
42     k = strindex(filename,"/");
43
44     if k == [] then
45         file_path = "./";
46     else
47         file_path = part(filename,1:k($));
48         filename  = part(filename,k($)+1:length(filename));
49     end
50
51     if getos() == "Windows" then
52         fullfilename = strsubst(file_path+filename,"/","\");
53         lst_files    = listfiles(fullfilename);
54     else
55         lst_files = listfiles(file_path+filename);
56     end
57
58     if lst_files<>[] then
59         for i=1:size(lst_files,"*")
60             deletefile(lst_files(i));
61         end
62     end
63
64 endfunction