Problem beim Umbenennen von Dateien mit Perl
Hallo,
ich will Dateien umbenennen, mit Perl!
hab zwar schon viel im Internet gelesen, aber irgendwie hab ich 0-Durchblick, bin halt noch ein Programmieranfänger.
Bisher habe ich dies hier geschrieben
(OS ist Windows)
Damit will ich Dateien im Perlverzeichnis auslesen, bei "_" splitten und am Schluss wieder zusammenflicken.
Die Datei sieht z.B. so aus
xxx_yyy.txt
soll danach so aussehen
xxx - yyy.txt
Wenn ich das per Kommandozeile ausführe, wird mir kein Fehler angezeit, sondern es scheint alles korrekt zu sein.
Aber wenn ich in das Verzeichnis gehe, sind die Dateinamen immer noch so wie davor (xxx_yyy.txt).
Was fehlt dem Skript denn?
Viele Grüße
und DAnke wür euere Antworten
Thorsten/T-Rule
ich will Dateien umbenennen, mit Perl!
hab zwar schon viel im Internet gelesen, aber irgendwie hab ich 0-Durchblick, bin halt noch ein Programmieranfänger.
Bisher habe ich dies hier geschrieben
(OS ist Windows)
#!/usr/bin/perl -w
#use strict;
#4---------------------------------------------------------------------------------------------------
my $datadir = 'C:\Desktop\perltest';
my $datadir1 = 'C:\Desktop';
#7---------------------------------------------------------------------------------------------------
opendir(DIR,"$datadir");
@filearr=readdir(DIR);
closedir(DIR);
foreach $file (@filearr) {
($schnipsel1, $schnipsel2) = split (/\_/, $file);
$file1="$schnipsel1"." - "."$schnipsel2\n";
rename ("$file","$file1");
print "$file in $file1 umbenannt\n";
}
Damit will ich Dateien im Perlverzeichnis auslesen, bei "_" splitten und am Schluss wieder zusammenflicken.
Die Datei sieht z.B. so aus
xxx_yyy.txt
soll danach so aussehen
xxx - yyy.txt
Wenn ich das per Kommandozeile ausführe, wird mir kein Fehler angezeit, sondern es scheint alles korrekt zu sein.
Aber wenn ich in das Verzeichnis gehe, sind die Dateinamen immer noch so wie davor (xxx_yyy.txt).
Was fehlt dem Skript denn?
Viele Grüße
und DAnke wür euere Antworten
Thorsten/T-Rule
Please also mark the comments that contributed to the solution of the article
Content-Key: 68157
Url: https://administrator.de/contentid/68157
Printed on: April 18, 2024 at 23:04 o'clock
2 Comments
Latest comment
Hi,
da is der fehler
mach einfach ma so:
bzw warum so schwer mach doch einfach ein $file =~ tr/_/-/;
mfg
($schnipsel1, $schnipsel2) = split (/\_/, $file);
da is der fehler
mach einfach ma so:
($schnipsel1, $schnipsel2) = split ("_", $file);
bzw warum so schwer mach doch einfach ein $file =~ tr/_/-/;
mfg