30 lines
881 B
Matlab
30 lines
881 B
Matlab
function outputFile = saveDirectoryInfo(directoryPath)
|
|
% Save metadata for all files and subdirectories under directoryPath.
|
|
|
|
directoryPath = string(directoryPath);
|
|
|
|
if ~isfolder(directoryPath)
|
|
error("Directory does not exist: %s", directoryPath);
|
|
end
|
|
|
|
% Recursively list all files and subdirectories
|
|
info = dir(fullfile(directoryPath, "**", "*"));
|
|
|
|
% Remove "." and ".." entries
|
|
info = info(~ismember({info.name}, {'.', '..'}));
|
|
|
|
% Create an output filename in MATLAB's current folder
|
|
[~, folderName] = fileparts(char(directoryPath));
|
|
if isempty(folderName)
|
|
folderName = 'directory';
|
|
end
|
|
|
|
timestamp = datestr(now, 'yyyymmdd_HHMMSS');
|
|
outputFile = fullfile(pwd, ...
|
|
sprintf('directory_info_%s_%s.mat', folderName, timestamp));
|
|
|
|
% Save the path and directory information
|
|
save(outputFile, 'directoryPath', 'info');
|
|
|
|
fprintf('Saved information to:\n%s\n', outputFile);
|
|
end |