Add movefile condition in Matlab

Hi,
I have a question. I've that code and I want to know if it's possible to add a condition to the movefile new name.
clc
clear all
Path = 'C:\EXE1\result\1\'; % path to the files
fileNames= {'0301975168AAA01.tar.gz', '45465456468AAA01.tar.gz'}
for k = 1:length(fileNames)
newFileName = ['fiche' fileNames{k} (3) '_pd_' fileNames{k}(3:5) '.tar.gz'];
% renaming
movefile([Path fileNames{k}], [Path newFileName]);
end
So, my condition would be something like this, for example:
This is one of my files
'0301975168AAA01.tar.gz'
And this is the the result after running the code:
fiche0_pd_01.tar.gz
And the condition will be:
fileNames{k} (3)>0-5 = 2
fileNames{k} (3)>5-10 = 2
So, in that case=
fileNames{k} (3)= 0 So it would be 2, not 0
fiche2_pd_01.tar.gz
Does somebody know how can I do it?
Thanks in advance and greetings,

4 commentaires

Walter Roberson
Walter Roberson le 16 Oct 2012
You indicate 10 as your upper bound in the second condition, but you seem to be working with only a single digit?
0-5 and 5-10 together seem to cover everything for a single digit, so it is not clear what the conditional would achieve?
Emmanuelle
Emmanuelle le 16 Oct 2012
Hi Walter. First of all, thank you for your quickly reply. Sorry, this is because I've a lot of files and I would have to apply for more than one number, not only one digit, as in the example. So, for example, the condition would be like this:
fileNames{k} (3)>0-5 = 2 fileNames{k} (3)>5-9 = 2
I've got a lot of files, so this is the reason I want to introduce a condition.
Walter Roberson
Walter Roberson le 16 Oct 2012
Still looks to me as if you are always changing the digit to 2 ?
Ah! Sorry it was my fault! For example,
fileNames{k} (3)>0-5 = 2
fileNames{k} (3)>5-9 = 8

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 16 Oct 2012

0 votes

Use lookup tables.
For example, supposing 5 was to be left alone and 7 was to become 5 and the other digits were to become 2:
lookup3 = '2222252522';
newdigit = lookup3(fileNames{k}(3)-'0'+1);

1 commentaire

Emmanuelle
Emmanuelle le 16 Oct 2012
Modifié(e) : Emmanuelle le 16 Oct 2012
Ah! I think I know what you mean but it's not like this. This is my real example:
XXX
if fileNames{k}(4:9)<10000= 31
fileNames{k}(4:9)>20000= 28
fileNames{k}(4:9)>10001>19999 =30
this is the exactly condition. And then I want to add it on the rename name.
newFileName = ['fiche' fileNames{k} (3) '_pd_' fileNames{k}(3:5) *'XXX'* '.tar.gz'];
I don't know if this is possible with Matlab. I'm going to check what lookup works.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Get Started with MATLAB Compiler SDK dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by