- in the move file the newName was a cell. that is why it asked for a string.
- in the sprintf you were printing the number as a string. so it made it an empty space after the new name.
Problem using move file
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I am new to MATLAB and trying to rename all the images inside a particular folder.I want to add a string hole with the names of my file.
if true
% code
end
path = 'U:\Thesis\COMSOL part\Various designs\With hole-Copy\';
dirData = dir(strcat(path,'*.png')); %# Get the selected file data
fileNames = {dirData.name}; %# Create a cell array of file names
for iFile = 1:numel(fileNames) %# Loop over the file names
newName = strcat('hole',fileNames,sprintf('%s',iFile)); %# Make the new name
movefile(fileNames{iFile},newName); %# Rename the file
end
But i get this error message "Error using movefile. Argument must contain a string."
Please help
0 Commenti
Risposta accettata
Joseph Cheng
il 16 Lug 2014
Modificato: Joseph Cheng
il 16 Lug 2014
what you're missing is
path = 'C:\temps (IT do not delete)\matlabAnswers\dirtest\';
dirData = dir(strcat(path,'*.wav')); %# Get the selected file data
fileNames = {dirData.name}; %# Create a cell array of file names
for iFile = 1:numel(fileNames) %# Loop over the file names
newName = strcat('hole',fileNames(iFile),sprintf('%d',iFile)); %# Make the new name
movefile(fileNames{iFile},cell2mat(newName)); %# Rename the file
end
i used wav files as i had a directory full of junk wav files. just change to png.. so the initial problems are:
I'm not exactly sure if you want to put the numbering after the .wav#. perhaps you wanted holeFilename#.wav
then you substitute the for loop with something like this
for iFile = 1:numel(fileNames) %# Loop over the file names
newName = strcat('hole',fileNames{iFile}(1:end-4),sprintf('%d',iFile),'.wav'); %# Make the new name
movefile(fileNames{iFile},newName); %# Rename the file
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Whos in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!