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 Kommentare

Walter Roberson
Walter Roberson am 16 Okt. 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 am 16 Okt. 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 am 16 Okt. 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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 16 Okt. 2012

0 Stimmen

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 Kommentar

Emmanuelle
Emmanuelle am 16 Okt. 2012
Bearbeitet: Emmanuelle am 16 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Import and Analysis finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 16 Okt. 2012

Community Treasure Hunt

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

Start Hunting!

Translated by