- 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
조회 수: 13 (최근 30일)
이전 댓글 표시
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
채택된 답변
Joseph Cheng
2014년 7월 16일
편집: Joseph Cheng
2014년 7월 16일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!