Hi,
hoffe mal ihr könnt mir helfen ich habe zuerst einmal versuch ein Script zu basteln das mir lokal in einem Verzeichnis einfach die Dateiendung unbenennt. Sowei so gut das hab ich auch geschafft, nur leider geht das ganze nicht wenn ich zu einem FTP connecte und da dann Datein unbenennen will.
Danke schon mal im Voraus!
Hier mein Script:
print "Bitte die FTP Adresse eingeben(ftp.meineftpadresse.de):\n";
$ftp_adresse = <STDIN>;
chomp ($ftp_adresse);
print "Bitte das Verzeichnis eingeben(incoming/ oder keins = / ):\n";
$ftp_verzeichnis = <STDIN>;
chomp ($ftp_verzeichnis);
print "Bitte den Benutzernamen eingeben:\n";
$benutzername = <STDIN>;
chomp ($benutzername);
print "Bitte geben sie das Passwort ein:\n";
$passwort = <STDIN>;
chomp ($passwort);
print "FTP Adresse: $ftp_adresse\n";
print "FTP Verzeichnis: $ftp_verzeichnis\n";
print "Benutzername: $benutzername\n";
print "Passwort: $passwort\n";
print "trying to Connect...\n";
use Net::FTP;
$ftp = Net::FTP->new("$ftp_adresse", Debug => 0, Port => 21, Passive => 0, Timeout =>120) or die "Kann zu der angegebenen Adresse nicht connecten!\n".($!);
print "login...\n";
$ftp->login("$benutzername","$passwort") or die "Passwort oder Benutzername falsch\n".($!); #login ([LOGIN [,PASSWORD [, ACCOUNT] ] ])
print "changing directory...\n";
$ftp->cwd("$ftp_verzeichnis");
print "changing directory succesfull!\n";
#print "Please enter your directory (z.B.: c:/test/test):\n";
#my $Verzeichnis = <STDIN>;
#chomp ($Verzeichnis);
print "Bitte gib die Dateiendung ein, die die Files beinhalten,\ndie unbennant werden sollen(ohne Punkt):\n";
my $now = <STDIN>;
chomp ($now);
print "Bitte gib die Dateiendung ein, die die Files danach\nbeinhalten sollen(ohne Punkt):\n";
my $after = <STDIN>;
chomp ($after);
#chdir ("$Verzeichnis") || "Konnte Verzeichnis nicht wechseln! ($!)";
# print "Directory changed...\n";
$ftp->dir([DIR, "."]) || die "$Verzeichnis: $!";
my @Eintraege = readdir(DIR);
my $NeuerEintrag;
foreach $Eintrag (@Eintraege) {
$Eintrag =~ /(.+).$now/;
$Name = $1;
$NeuerEintrag = $Name.".$after";
$ftp->rename($Eintrag,$NeuerEintrag)|| "Konnte die Dateien nicht unbenennen. ($!)";
print "$Eintrag in $NeuerEintrag umbenannt\n";
}
$ftp->quit;