如何在MATLAB中确定磁盘空间

Cel*_*dor 8 matlab

MATLAB中是否有任何函数可以确定可用磁盘空间?我创建了一个使用MS-DOS dir命令并解析其输出的最后一行的临时函数.我认为它的工作符合预期,但我想(1)它不适用于其他系统(OS X,Linux,Unix,etx.)和(2)也可能在不同的Windows版本中失败.也许有人可以改进它以使其更通用?谢谢

代码:

function out = freediskspace
    [~,d] = dos('dir');
    C = textscan(d,'%s','Delimiter','\n'); C = C{1}{end};
    C = strrep(C,',','');
    r = regexp(C,'\d+','match');
    out = str2double(r{2});
end
Run Code Online (Sandbox Code Playgroud)

Chr*_*lor 12

您可以使用Java调用(这适用于Linux和Windows - 我没有检查OSX,但应该没问题).

function free = getFreeSpace(path)

    if nargin < 1 || isempty(path)
        path= '.';
    end

    free = java.io.File(path).getFreeSpace();

end
Run Code Online (Sandbox Code Playgroud)

例如,

>> f = getFreeSpace('C:\')
f =
    3.9338e+11
Run Code Online (Sandbox Code Playgroud)