mkdir and the matlab compiler
Mostrar comentarios más antiguos
Hi, I'm having a problem getting the compiled version of my code to make a new directory - I use mkdir and it works great in the m-file, but I get nothing out of the compiled version. I found on thread suggested adding this statement in files related, but it doesn't seem to do anything and I likely don't understand how to use it.
*%#function mkdir *
The code compiles and creates the excel datafile, but not the directory or creates the file in the directory..
Here is a snippet of my code -
measurementTitle = 'Test-title';
good_iteration_name = sprintf(char(cat(2,measurementTitle,char(datestr(now,30)))));
%
% Create a new directory to store the data into and at the end cd back to "root". "Ant_serial_num2" is the "measurement title" in the GUI.
dataDir = sprintf(char(good_iteration_name));
%
comments = [comments,' ', num2str(operatingFreq) 'Hz']
%
mkdir(dataDir)
% eval(['mkdir ' dataDir])
cd(dataDir)
%eval(['cd ' dataDir])
%
characterizationVoltages = [voltageSet' chan1' chan2'];
characterizationVoltages = num2cell(characterizationVoltages);
%
dataVoltages = sprintf(char(cat(2,good_iteration_name,'_charVoltages','.xlsx')));
saveAsFN = dataVoltages; %
%format for xlswrite2- Data, tab name, column names, filename.
%
headerTemp = sprintf('Voltage %s', voltageSetTo);
colNames = {'DAQ Voltage Setting','VPP-Current', 'VPP-DrvOut',comments};
%
% subjectTemperatures also contains oscope voltages.
xlswrite2(characterizationVoltages, headerTemp, colNames,dataVoltages);
pause(2)
%
cd ..
3 comentarios
Mike
el 6 de Mzo. de 2012
Friedrich
el 6 de Mzo. de 2012
Hi,
why are you using eval?
eval(['mkdir ' dataDir])
You can use the function syntax of mkdir
mkdir(datadir)
In addition you use CD, dont do that. It will most likely result in same strange errors:
http://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/
Mike
el 6 de Mzo. de 2012
Respuestas (1)
Walter Roberson
el 6 de Mzo. de 2012
0 votos
The first thing I would suspect is that the problem is that you have no idea what directory you are starting in at the time you try to 'mkdir' . You cannot just mkdir() starting from a random place.
The link Friedrich provided should help clarify matters.
5 comentarios
Mike
el 6 de Mzo. de 2012
Mike
el 6 de Mzo. de 2012
Mike
el 7 de Mzo. de 2012
Image Analyst
el 7 de Mzo. de 2012
Put this line in your code
ctfroot
and see what it spits out to the console window. Chances are Windows 7 is not allowing your program to make a folder in that folder. Even in folders under c:\Users, you can't always put files and folder just any old place - there are rules. You'd probably be better off specifying where you want files and folder created explicitly rather than using relative paths which could be who-knows-where.
Mike
el 7 de Mzo. de 2012
Categorías
Más información sobre Scripts en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!