フォルダーが存在しない場合 (または一貫性がない場合)、特定の場所から 1 つのフォルダーをコピーするスクリプトを実行しています。スクリプトを 2 回以上同時に実行すると、問題が発生します。最初のスクリプトがファイルをコピーしようとしているときに、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
か?