How can I change the configuration of several slx files in a folder?

조회 수: 8 (최근 30일)
Iñaki Eizaguirre
Iñaki Eizaguirre 2024년 1월 15일
답변: Lokesh 2024년 1월 15일
I'd like to know how can I change the configuracion of several models that I've got in a folder without opening each of them. Currently, I'm doing this by hand but I'd like to automate this.
For example, I have several with this kind of configuration:
So, I'd like to flick through all the slx files, check their configuration and set it to "Reference" instead of Configuration1
Regards.

채택된 답변

Lokesh
Lokesh 2024년 1월 15일
Hi Iñaki Eizaguirre,
As per my understanding, you're looking to automate the process of updating the configuration set for several Simulink models (.slx files) without the need to open each file manually.
To achieve this you can utilise MATLAB scripting. Refer to the following sample code snippet that will change the configuration sets of simulink files in a folder:
% Set the directory containing the .slx files
modelDirectory = 'path_to_your_models_folder';
% Change MATLAB's current directory to the models directory
cd(modelDirectory);
% Retrieve a list of all .slx files in the directory
modelFiles = dir('*.slx');
% Loop through each .slx file in the directory
for k = 1:length(modelFiles)
% Extract the model name without the file extension
[filePath, modelName] = fileparts(modelFiles(k).name);
% Load the model into MATLAB's memory without opening the Simulink UI
load_system(modelName);
% Get the active configuration set of the loaded model
cfgSet = getActiveConfigSet(modelName);
% If the active configuration set is not 'Reference', update it
if ~strcmp(cfgSet.Name, 'Reference')
% Set the active configuration set to 'Reference'
setActiveConfigSet(modelName, 'Reference');
end
% Save the model with the updated configuration set
save_system(modelName);
% Close the model without saving again
close_system(modelName, 0);
end
Please refer to the following MathWorks documentation to know more about:
I hope this resolves your query.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기

태그

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by