我正在运行一个脚本,如果它不存在(或不一致),它会从特定位置复制一个文件夹。当我同时运行脚本 2 次以上时,就会出现问题。当第一个脚本试图复制文件时,第二个脚本来尝试同样的事情,导致一团糟。我怎样才能避免这种情况?类似于系统范围的互斥锁。
我尝试了一个简单的测试-w
,我手动复制了文件夹,并在复制文件夹时运行脚本:
use strict;
use warnings;
my $filename = 'd:\\folder_to_copy';
if (-w $filename) {
print "i can write to the file\n";
} else {
print "yikes, i can't write to the file!\n";
}
当然这行不通,因为我仍然拥有对该文件夹的写入权限。关于如何检查文件夹是否被复制Perl
或使用的任何想法batch commands
?