Определете дали даден файл може да бъде преместен или копиран

Освен изпробване на операцията и улавяне на изключението, има ли метод за определяне дали даден файл може да бъде преместен или копиран?


person user79755    schedule 20.03.2009    source източник


Отговори (3)


Няма начин да разберете дали преместването или копирането на файл ще бъде гарантирано успешно или не.

Но можете да проверите доста неща, за да видите дали няма да се провали:

  • Проверете за дисково пространство в местоназначението (необходим ви е размерът поне на вашия файл)
  • Проверете за файл, който вече съществува в местоназначението
  • Отворете файл, като поискате достъп за четене на изходния файл, за да сте сигурни, че 1) имате разрешения за него, 2) не се използва.
  • Можете да прочетете целия изходен файл, за да се уверите, че във файла няма ключалки.
  • Трик, използван от Windows Explorer при копиране на файлове (или преместване между томове), е първо да се създаде празен файл, след което да се разшири файлът до пълния размер. Едва след като файлът е напълно разпределен, тогава записите започват да се случват във файла.
  • Разпределянето на файл с размера на данните, които искате да копирате, също ще ви каже дали има котировка на файловата система, която е достигната.
  • Ако даден файл се използва и искате да стигнете дотук, можете да използвате Volume Shadow Copy (VSS).

Още за заключването на файлове:

Моля, вижте отговора ми тук за много повече информация относно заключване на файлове и разрешения в linux.

Моля, вижте отговора ми тук за много повече информация относно заключване на файлове и разрешения в Windows.

person Brian R. Bondy    schedule 20.03.2009

Като цяло вижте дали файлът съществува и дали текущият потребител има разрешение да чете файла (или да изтрие файла за преместване) и има подходящото разрешение за целевата директория. Освен това за копиране трябва да проверите дали има свободно дисково пространство. Разбира се, преди всичко това, уверете се, че оригиналният файл и целевата директория дори съществуват.

Разбира се, това не гарантира, че операцията ще бъде успешна. Много неща могат да се случат. Дори разрешенията за файла могат да се променят между времето, когато проверявате, и времето, когато извършвате операцията.

person BobbyShaftoe    schedule 20.03.2009

Ако файлът може да бъде прочетен, той може да бъде преместен или копиран. Питате ли как можете да проверите дали преместването или копирането ще успее?

person Stavros Korokithakis    schedule 20.03.2009
comment
Някои файлови системи позволяват достъп само за четене, в който случай би било възможно копиране, но не и преместване. - person Tom; 20.03.2009