Perl - 将文件从 DIR1 移动到 DIR2
Perl - moving files from DIR1 to DIR2
我正在尝试使用 Perl 脚本将文件从 DIR1 移动到 DIR2。
我的代码可以编译,但不幸的是不能正常工作。
在此先感谢您的建议
#!/usr/bin/perl -w
use File::Copy;
use Cwd 'abs_path';
if ( @ARGV != 2 ) {
die "Script takes two parameters: dir1 dir2";
}
if ( -d $ARGV[0] && -d $ARGV[1] )
{
opendir my $DIR, $ARGV[0] or die "Read error: $!";
while(my $file = readdir $DIR )
{
next if ($file eq "." or $file eq "..");
my $filepath = abs_path($file);
print "$filepath\n";
move $filepath, $ARGV[1];
}
closedir $DIR;
}
else
{
print "Both arguments must be directories!\n";
}
脚本打印 DIR1 中的所有文件,但移动失败。
readdir
returns 仅给定目录中的文件名。因此,要获得绝对文件路径,您需要在 $ARGV[0] 之前添加。
有关详细信息,请参阅 perldoc for readdir。
我正在尝试使用 Perl 脚本将文件从 DIR1 移动到 DIR2。 我的代码可以编译,但不幸的是不能正常工作。 在此先感谢您的建议
#!/usr/bin/perl -w
use File::Copy;
use Cwd 'abs_path';
if ( @ARGV != 2 ) {
die "Script takes two parameters: dir1 dir2";
}
if ( -d $ARGV[0] && -d $ARGV[1] )
{
opendir my $DIR, $ARGV[0] or die "Read error: $!";
while(my $file = readdir $DIR )
{
next if ($file eq "." or $file eq "..");
my $filepath = abs_path($file);
print "$filepath\n";
move $filepath, $ARGV[1];
}
closedir $DIR;
}
else
{
print "Both arguments must be directories!\n";
}
脚本打印 DIR1 中的所有文件,但移动失败。
readdir
returns 仅给定目录中的文件名。因此,要获得绝对文件路径,您需要在 $ARGV[0] 之前添加。
有关详细信息,请参阅 perldoc for readdir。