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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 68157
Url: https://administrator.de/contentid/68157
Ausgedruckt am: 14.11.2024 um 01:11 Uhr
2 Kommentare
Neuester Kommentar
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