Is there any code that can detect a file with certain size and replace it with another one?

조회 수: 1 (최근 30일)
Hi,
I am now post-processing my analysis data. I noticed that some files do not have the targeted data, as the analysis stopped prematurely.
Hence, I need to replace these files with a file that contains a fixed value.
The files to be found and replaced have a size that is usually below 10 KB.
Is there any available code that can scan files in a folder and detect such files and replace them?
I hope I could explain my problem clearly, and please feel free to let me know if I should elaborate my question further.
  댓글 수: 2
Stephen23
Stephen23 2019년 4월 7일
편집: Stephen23 2019년 4월 7일
Use dir to get the file attributes, compare the file sizes against your limit, then replace those ones using copyfile or any file exporting function of your choice. Most/all of this could be vectorized.
Ismail Qeshta
Ismail Qeshta 2019년 4월 7일
Thank you Stephen for your comment.
Is it too much to ask if it is possible to show that to me in a code?

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2019년 4월 7일
projectdir = pwd(); %adjust to the appropriate directory
ext = '.xyz'; %adjust to extension being looked for
too_small_size = 10*1024;
replacement_file = fullfile(projectdir, 'flag_bad_file.txt'); %if it is in the same directory then avoid using same extension
dinfo = dir( fullfile(projectdir, ['*' ext]);
mask = [dinfo.bytes < too_small_size];
files_to_replace = fullfile( projectdir, {dinfo(mask).name} );
for K = 1 : length(file_to_replace)
copyfile(replacement_file, files_to_replace{K});
end
  댓글 수: 5
Ismail Qeshta
Ismail Qeshta 2019년 4월 7일
편집: Ismail Qeshta 2019년 4월 7일
Walter, do you mean by "adjust to the appropriate directory" that I need to place the folder name or the location of folder?
Also, I do not see in the code the new file to be printed. Is it the flag_bad_file.txt?
Walter Roberson
Walter Roberson 2019년 4월 7일
projectdir = 'Put/In/The/Full/Path/To/The/Directory/At/This/Point';
replacement_file = 'Put/In/The/Full/Path/To/The/Replacement/File/At/This/Point/Including.extension';

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by