Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab';错误的文件描述符';,删除所有已处理的数据_Matlab_Mkdir - Fatal编程技术网

Matlab';错误的文件描述符';,删除所有已处理的数据

Matlab';错误的文件描述符';,删除所有已处理的数据,matlab,mkdir,Matlab,Mkdir,我有一个文件夹,里面有未经处理的研究数据。为了处理它,我运行了一个脚本,它在其中执行一些操作,并将数据存储在名为“PC”的子文件夹中。我从未对这个脚本有过异议,但今天早上我又犯了一个奇怪的错误。下面是一个片段: Performing calibration on file 1985 of 3802... Performing calibration on file 1986 of 3802... Performing calibration on file 1987 of 3802... Er

我有一个文件夹,里面有未经处理的研究数据。为了处理它,我运行了一个脚本,它在其中执行一些操作,并将数据存储在名为“PC”的子文件夹中。我从未对这个脚本有过异议,但今天早上我又犯了一个奇怪的错误。下面是一个片段:

Performing calibration on file 1985 of 3802...
Performing calibration on file 1986 of 3802...
Performing calibration on file 1987 of 3802...

Error using mkdir
Bad file descriptor

Error in DriverScript17 (line 166)
        mkdir(PC_folder);
好的,它顺利通过了1986年的第一批文件,但随后就停止了随机工作。不仅如此,它还删除了它已经存储在/../PC/中的1986年校准文件,这显然是一个问题!通过终端进入PC子文件夹,当我试图打开它时,它会显示“-bash:cd:PC:bad file descriptor”

下面是引发错误的代码:

if (conditions) == 1; %this is True for what I'm doing
    %% Perform operations on the data
    if ~exist(PC_folder);
        mkdir(PC_folder); % PC_folder = strcat(current_folder, 'PC/');
    end
    save(filename,'DATA');
end

我检查过了,我的2 TB外部硬盘上应该还有大约200 GB的存储空间,所以我怀疑这就是问题所在。有什么想法吗?

遇到问题后,
fopen('all')
会返回什么?很可能您忘记关闭一些文件句柄,只是超出了最大数目。由于在shell中发生了相同的事情,这听起来像是文件系统崩溃了,MATLAB向您显示了与shell相同的错误。MATLAB不是罪魁祸首,你的代码也不是。保留备份。@Daniel——我现在正在运行,所以无法检查。如果再次出现同样的错误,我将尝试打开并检查以确保所有文件句柄都已关闭。@Peter--这是否意味着可能是我的外部硬盘坏了,或者是硬盘上的坏扇区?谢天谢地,我已经备份了所有内容。@Daniel fopen(“全部”)返回[](空集)。