Я запускаю скрипт, который копирует одну папку из определенного места, если она не существует (или несовместима). Проблемы возникают, когда я выполняю этот сценарий 2 раза. Поскольку первый скрипт пытается скопировать файлы, второй приходит и пытается использовать то же самое, что приводит к беспорядку. Как я мог избежать этой ситуации? Что-то вроде системного мьютекса.Обнаружить, что файлы копируются в папку
I судимого простой тест с -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
?
Итак, чтобы узнать, что я все еще копирую в этой папке, я бы сохранил конкретный файл до тех пор, пока не закончу копирование всей папки, и проверка будет в этом файле? –
@JohnDoe Да, вы должны использовать отдельный файл в качестве файла блокировки. – nwellnhof