Thread Hilfe bei einem kleinen Programm.... (Dateien löschen, umbenennen)
(6 answers)
Opened by IngUni at 2011-08-03 08:21
edit: Ob Programmierlaie oder nicht: Mach Deine Löschversuche auf jeden Fall mit einer Kopie Deines Dokumentenverzeichnisses :)
z.B. so (ungetestet): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 use warnings; use strict; my @files = glob('*.tex'); # Liste aller '.tex'-Dateien # im aktuellen Verzeichnis FILE: for my $file (@files) { # Nimm alle einzeln von der Liste # FALSCH! vgl. Linuxer # if ($file !~ /-neu\.tex$/) { # Endet sie nicht auf '-neu.tex'? # unlink $file; # dann weg damit # next FILE; # und zur nächsten (Sprung zu FILE:) # } if ($file =~ /(.*)-neu(\.tex)$/) { # eine neue .tex-Datei? my $oldfile = "$1$2"; if (-e $oldfile) # alte Version vorhanden? unlink $oldfile; # dann löschen } my $newname = $file; # Kopie des Dateinamens machen $newname =~ s/-neu(\.tex)$/$1/; # ersetze '-neu.tex' durch '.tex' rename($file, $newname); # benenne Datei um } } # zurück nach FILE: (nächste Datei) in dieser Version werden * nur Dateien bearbeitet, deren Dateiname mit Kleinbuchstaben endet, ggf. musst Du die Suchmuster anpassen. * * nur noch die alten .tex-Files gelöscht, die ein '-neu'-Pendant haben Die Abfrage nach der alten Datei kann man evtl. weglassen, wenn rename() auf Deinem System ungefragt die alte mit der neuen Datei überschreibt. Editiert von FIFO: Kommentare ergänzt Last edited: 2011-08-03 12:54:18 +0200 (CEST) Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"
|