[英]Perl script for moving files
I have developed a Perl script for data movement from one folder to another.我开发了一个 Perl 脚本,用于将数据从一个文件夹移动到另一个文件夹。 I have one folder in D drive ( D:\\projectx\\MUX4TO1_TB
).我在 D 盘( D:\\projectx\\MUX4TO1_TB
)中有一个文件夹。 Inside that folder, I have to create a new folder named newfolder
.在该文件夹中,我必须创建一个名为newfolder
的新文件夹。 Then I want to search for .ps
files inside MUX4TO1_TB
, and if any are found, I want to move them to newfolder
.然后我想在MUX4TO1_TB
搜索.ps
文件,如果找到,我想将它们移动到newfolder
。
The code I have developed is 70% working, but data movement is not happening from MUX4TO1_TB
to newfolder
.我开发的代码有 70% 的工作MUX4TO1_TB
,但没有发生从MUX4TO1_TB
到newfolder
数据移动。 Please help me to complete it.请帮我完成它。
#!/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);
You did not provide a valid path of the final target您没有提供最终目标的有效路径
$cfile= $srcdir. '\\' . $filename;
You missed \\\\
backslashes while assigning a new value to $cfile
.您在为$cfile
分配新值时错过了\\\\
反斜杠。
Full code:完整代码:
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.