|
|
Dateien variabel umbenennen |
|
Don Iglos |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 02.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.07.2015, 16:16
Titel: Dateien variabel umbenennen
|
 |
|
 |
|
Moin Moin,
Ich habe 220 bmp-Dateien, die ich gerne intervallweise umbenennen möchte.
Die Dateien haben die Bezeichnung 01.bmp, 02.bmp, ..., 0220.bmp.
Ich möchte jetzt beispielsweise die ersten fünf Dateien umbenennen. Später möchte ich die Grenzen der for-Schleife auch noch Variabel gestalten. Dazu später mehr.
Dazu habe ich folgenden Code bisher geschrieben:
Ich weiß, dass meine dirData-struct und meine fileNames-Cell die falsche Größe haben und damit das Problem gelöst werden könnte. Ich bin aber momentan absolut überfordert damit die beiden Dinge so zu gestalten, wie sie sein müssten.
Der Code liest momentan die ersten fünf Elemente ein undbenennt dann den letzten (durch die for-Schleife) um in den gewünschten Namen für das erste Element. Ich hätte wie gesagt jetzt gerne, dass er die Dateien nacheinander umbenennt.
Das intervallweise umbenennen soll wie folgt aussehen.
Er soll mir die Dateien 01-05 zum Beispiel als 0101-0105 benennen und die Dateien 06-010 als 0201 bis 0205 usw... . Wenn das klappt wäre das optimal.
Ich denke, dass ich auf dem richtigen Weg bin, weiß aber grade nicht mehr weiter.
Ich würde mich über Hilfe sehr freuen.
Schonmal im Voraus besten Dank.
Grüße
Don Iglos
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.07.2015, 17:39
Titel:
|
 |
Hallo,
du willst eine Serie von Dateien umbenennen. Dann ergibt es doch keinen Sinn, zwei ineinandergeschachtelte for-Schleifen zu verwenden?
Ungetestete Idee:
Vorsicht: wenn du das in der von dir angegebenen Reihenfolge machst, wird z.B. 09.bmp in 0204.bmp umbenannt. Dann hast du aber das 204. Bild der Serie überschrieben. Das dürfte vermieden werden, wenn du die Schleife rückwärts laufen lässt.
Grüße,
Harald
|
|
|
Don Iglos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 02.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.07.2015, 21:24
Titel:
|
 |
|
 |
|
Hallo Harald,
Ich danke dir erstmal für die schnelle Antwort, ich war leider in letzter Zeit nicht in der Lage mich um die Sache zu kümmern.
Das Programm funktioniert ganz gut, du legst allerdings fest, dass es eine Serie von 5 Dateien sind, die du umbenennst.
Ich würde gerne genau das variabel gestalten:
Ich habe ein Array mit verschiedenen Werten gespeichert, die jeweils einen Anfangs- und einen Endwert für ein Intervall bilden.
Also B1=9, B2=18, B3=26... Je nachdem wie mein vorheriger Quellcode Maxima aus einem Histogramm bestimmt.
Jetzt soll das erste Intervall von B1 bis B2 gehen. Das zweite von B2 bis B3 usw.
Ich denke man kann das über die "length" Funktion regeln, bin mir aber nicht sicher wie das aussehen soll.
Ich habe es folgendermaßen versucht;
Ich bekomme dadurch aber die Meldung:
Error using movefile.
Cannot copy or move file or directory onto itself.
Error:
movefile(oldFileName, newFileName).
Bin ich denn prinzipiell auf dem richtigen Weg oder komplett auf dem Holpfad?
Ich schätze mal, dass die Meldung dadurch zu Stande kommt, dass ich B2 als Anfangs- und Endpunkt nutzen möchte und Matlab da was dagegen hat. Vielleicht würde es mehr Sinn machen, statt movefile copyfile zu nutzen und im Nachhinein die alten Bezeichnungen zu löschen?
Danke schonmal für die Antworten.
LG
Don Iglos
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.07.2015, 22:04
Titel:
|
 |
Hallo,
Zitat: |
Das Programm funktioniert ganz gut, du legst allerdings fest, dass es eine Serie von 5 Dateien sind, die du umbenennst. |
Jep, weil deine Fragestellung so lautete.
Das sieht sehr gruselig aus.
Zitat: |
Error using movefile.
Cannot copy or move file or directory onto itself. |
Mal den Debugger genutzt, um sich die Dateinamen zum problematischen Zeitpunkt anzusehen?
Zitat: |
Jetzt soll das erste Intervall von B1 bis B2 gehen. Das zweite von B2 bis B3 usw. |
Und B2 soll nun im ersten Intervall, im zweiten, oder in beiden eingeschlossen sein?
So oder so:
find
e heraus, welches das letzte B(i) ist, das kleiner als
number
ist. Dann hast du das richtige
series
.
Grüße,
Harald
|
|
|
Andy386 |

Forum-Guru
|
 |
Beiträge: 485
|
 |
|
 |
Anmeldedatum: 24.06.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.1/8
|
 |
|
|
 |
|
Verfasst am: 23.07.2015, 16:06
Titel:
|
 |
ich hab das jetzt nicht nachvollzogen, aber wenn du ein DOS zu Grunde liegen hast gibt's noch
(als DOS-Befehl)
_________________
Ich hasse es wenn die Leute Fragen stellen, man dann versucht sich Mühe zu geben, und diejenigen ihren Thread nie wieder besuchen...
|
|
|
Don Iglos |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 02.07.15
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.07.2015, 00:35
Titel:
|
 |
Moin,
die Methode, die mir Harald vorgeschlagen hatte, läuft perfekt. Ich hatte bisher leider nur noch nicht die Zeit den Thread zu beenden.
Danke an alle für die Bemühungen, es hat mir sehr geholfen.
LG
Don Iglos
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|