Hi,
Ich suche ein Programm, mit dem man die Dateinamen von (in meinem Fall) Musikdateien massenhaft bearbeiten kann, sodass unnötige Zeichen wie Unterstriche antfernt/durch anderes ersetzt werden.
z.B.
aus "101_michael_mind_-_ride_like_the_wind.mp3" wird "michael mind - ride like the wind.mp3"
Ich habe etwa 10 Monate Delphi Erfahrung und habe mir mithilfe einer Prozedur, die ich unter
http://www.delphi-library.de/topic_n...chen_1107.html gefunden habe, ein Programm dafür zusammengebastelt. Da ich also nicht alles selber geschrieben habe kam es natürlich zu Komplikationen.
Frage: Kann man kleine Verbesserungen an dem Programm vornehmen, sodass es funktioniert, oder sollte ich lieber vorerst die Finger davon lassen, bis ich es selbst verstehe?
In dem Fall würde ich trotzdem gerne wissen ob es bereits ein Programm gibt, das mein Problem löst.
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
function lastSlash(path: string):string;
var
hilfStr: string;
slashPos: integer;
begin
hilfStr:=path;
while (pos('\',hilfStr) > 0) do
hilfStr:=copy(hilfStr,slashPos+1,length(hilfStr)-slashPos);
result:=hilfStr;
end;
procedure RenameFiles (var datei: string; Ren, RenIn: string);
Var
FindRec: tSearchRec;
DateiName: string;
Begin
If (datei = '') Then Exit;
If FindFirst (datei, faAnyFile, FindRec) <> 0
Then Repeat
If (FindRec.Name <> '.') and (FindRec.Name <> '..')
Then begin
DateiName:=datei+FindRec.Name;
if (pos(Ren,DateiName) > 0)
then begin
insert(RenIn,DateiName,(pos(Ren,DateiName)));
delete(DateiName,pos(Ren,DateiName),length(Ren));
RenameFile(datei,lastSlash(datei)+DateiName);
end
else writeln('Teilstring nicht gefunden');
end;
Until FindNext (FindRec) <> 0;
FindClose (FindRec);
end;
var
dir, Ren, RenIn, datei,namestring: string;
begin
write('Ordner (mit Backslash): ');
readln(dir);
namestring:=lastSlash(dir);
write('Umzubenennender Teilstring: ');
readln(Ren);
write('Zu ersetzen durch: ');
readln(RenIn);
RenameFiles (dir,Ren,RenIn);
readln;
end.