![]() |
Dateiendung von Dateien nach Vorgabe ändern
Moin!
Kann ich mit einem ähnlichen Befehl wie deletefile ('C:\Programme\test\*.*'); sämtlichen in einem ordner befindlichen dateien eine andere endung geben? also das ich z.B allen dateien in diesem ordner statt des existierenden .dll, .ini, .jpg ein...zum beispiel .bmp verpasse etc...?! hab eine datei vor jahren versteckt, ein bild und diese file umbenannt, möchte sie wiederfinden danke für die hilfe rhodan |
Re: Dateiendung von Dateien nach Vorgabe ändern
Stichworte FindFirst, FindNext, RenameFile. Wie willst du denn auf diesem Weg die Datei wiederfinden?
Und wenn du das wirklich vorhast: Bitte mit einer vorher erstellten Kopie von system und system32 diese Geschichte durchführen.. Mit den echten Ordnern wäre das sehr riskant :-D |
Re: Dateiendung von Dateien nach Vorgabe ändern
Das und viel mehr lässt sich lässig mit dem Total Commander von Ghisler.com erledigen.
|
Re: Dateiendung von Dateien nach Vorgabe ändern
danke für die antworten..möchte dies allerdings selbst coden :-)
na wenn ich das bild damals in eine dll umbenannt habe werden alle 'falschen' dll's keine bilder anzeigen, das echte bild allerdings wird das einzige sein was dann sichtbar ist wenn ich die ansicht in 'miniaturansicht' andere. ich arbeite jetzt mit folgendem code, der aber nicht funktioniert :S wo steckt der fehler?
Delphi-Quellcode:
gracias!
procedure RenameFiles;
const Path = 'C:\rename\'; OldExt = '.jpg'; NewExt = '.bmp'; var sr: TSearchRec; NewName: string; begin if FindFirst(Path + '*.*', faAnyFile, sr) = 0 then repeat if sr.Attr and faDirectory <> 0 then Continue; if LowerCase(ExtractFileExt(sr.Name)) = OldExt then begin NewName := Copy(sr.Name, 1, Length(sr.Name) - Length(OldExt)) + NewExt; if not RenameFile(sr.Name, NewName) then Beep; end; until FindNext(sr) <> 0; end; procedure TForm1.Button1Click(Sender: TObject); begin renamefiles; end; end. |
Re: Dateiendung von Dateien nach Vorgabe ändern
Ohne Einrückung etc. ist der Quelltext sehr schwer zu lesen. Was mir allerdings sofort auffällt. Das FindClose fehlt.
|
Re: Dateiendung von Dateien nach Vorgabe ändern
Mal debuggt...?
Delphi-Quellcode:
ist glaube ich auch falsch, weil du nur die Dateinamen mitgibst, ohne benötigte Pfadangabe...
if not RenameFile(sr.Name, NewName) then
HTH |
Re: Dateiendung von Dateien nach Vorgabe ändern
Ungetestet:
Delphi-Quellcode:
procedure RenameFiles;
const Path = 'C:\rename\'; OldExt = '.jpg'; NewExt = '.bmp'; var sr: TSearchRec; NewName: string; begin if FindFirst(Path + '*.*', faAnyFile, sr) = 0 then try repeat if sr.Attr and faDirectory = 0 then if LowerCase(ExtractFileExt(sr.Name)) = OldExt then begin NewName := ChangeFileExt(Path + sr.Name,NewExt); if not RenameFile(Path + sr.Name, NewName) then Beep; end; until FindNext(sr) <> 0; finally SysUtils.FindClose(sr); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz