[英]Perl script for moving files
我开发了一个 Perl 脚本,用于将数据从一个文件夹移动到另一个文件夹。 我在 D 盘( D:\\projectx\\MUX4TO1_TB
)中有一个文件夹。 在该文件夹中,我必须创建一个名为newfolder
的新文件夹。 然后我想在MUX4TO1_TB
搜索.ps
文件,如果找到,我想将它们移动到newfolder
。
我开发的代码有 70% 的工作MUX4TO1_TB
,但没有发生从MUX4TO1_TB
到newfolder
数据移动。 请帮我完成它。
#!/usr/bin/perl
use warnings;
use File::Copy 'move';
my $srcdir = "d:\\projectx\\MUX4TO1_TB";
mkdir("D:\\projectx\\MUX4TO1_TB/Newfolder") || die "Unable to create directory <$!>\n";
my $dest = "D:\\projectx\\MUX4TO1_TB\\Newfolder";
opendir(DIR, $srcdir) or die "Can't open $srcdir: $!";
$filterstring = ".ps";
foreach my $filename (readdir(DIR)) {
if ($filename =~ m/$filterstring/) {
$cfile = $srcdir . $filename;
print "\n moving $cfile from $srcdir to $dest \n";
move($cfile, $dest) or die "The move operation failed: $!";
}
}
closedir(DIR);
您没有提供最终目标的有效路径
$cfile= $srcdir. '\\' . $filename;
您在为$cfile
分配新值时错过了\\\\
反斜杠。
完整代码:
use warnings;
use File::Copy 'move';
my $srcdir= "d:\\projectx\\MUX4TO1_TB";
mkdir("D:\\projectx\\MUX4TO1_TB/Newfolder") || die "Unable to create directory <$!>\n";
my $dest = "D:\\projectx\\MUX4TO1_TB\\Newfolder";
opendir(DIR, $srcdir) or die "Can't open $srcdir: $!";
$filterstring=".ps";
foreach my $filename (readdir(DIR))
{
if ($filename =~ m/$filterstring/) {
$cfile= $srcdir. '\\' . $filename; ## You missed '\\';
print "\n moving $cfile from $srcdir to $dest \n";
move($cfile,$dest)or die "The move operation failed: $!";
}
}
closedir(DIR);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.