Скажем, я копирую или создаю файл foo.txt по пути a/b/c. Пока он копируется, можно ли переименовать любую часть пути. Я попробовал сменить c (непосредственный родитель), но он попадает в Access denied, а переименование b работает. Почему так? И, допустим, если я копирую 2 файла foo1 и foo2 в один и тот же каталог в файловой системе Windows одновременно; это повлияет на производительность любого? В качестве альтернативы, будет ли какой-либо процесс копирования заблокировать папку? Если да, то на каком уровне?Windows File/Directory Lock
ответ
В самой файловой системе нет ничего, что помешает вам переименовать a, b или c во время записи в файл foo.txt. Я подозреваю, что утилита, которую вы используете, открыла папку с доступом, которая запрещает другим процессам записывать или удалять доступ к самой папке (которая не имеет ничего общего с файлами в ней).
В NTFS переименование папки (или даже перемещение ее где-то на том же томе) не приводит к изменению идентификатора папки. Я предполагаю, что утилита открывает (самую личную) папку, чтобы предотвратить ее удаление из-под нее. Разумное, защитное поведение.
Перемещение папки (в пределах того же тома) также не влияет на то, где происходят записи в содержащиеся в ней файлы. Они распределяются по требованию из доступных секторов и где эти сектора не связаны с концептуальным расположением, обеспечиваемым иерархией файлов. Таким образом, я не вижу, чтобы переименовать среднюю копию повлияло на производительность - по (незначительной) цене самого переименования
- 1. windows phone lock lock разработка приложений
- 2. Windows Console Lock
- 3. SQlite3 lock windows
- 4. Идентификаторы классов FileDirectory и ReferenceStream в Pharo?
- 5. c windows multithread file lock
- 6. Nuke - Matrix4 lock lock lock Z rotation
- 7. Java lock lock
- 8. Создать файл в Windows Explorer lock FileTable
- 9. Windows 10 Universal Remove Lock Screen Изображение
- 10. C++ Lock File Windows Режим блокировки
- 11. Lock-Writer Lock в Haskell
- 12. Bash scripting: lock writer lock
- 13. Виджет приложения на Android Lock Lock Lock по умолчанию?
- 14. sequelize update transaction lock row
- 15. Как я могу включить/выключить Caps Lock, Scroll Lock, ключ Num Lock программно
- 16. Как я могу включить/выключить Caps Lock, Scroll Lock и Num Lock Programmatically
- 17. Lock wxframe position
- 18. java sychronization with lock lock confusion
- 19. Network lost on lock lock unlock
- 20. C Reader Writer Thread Lock Lock Unlock
- 21. ConcurrentHashMap lock
- 22. sqlite database lock
- 23. asp.net File.Copy Lock
- 24. Прерывания программ в программе Keyboardhook lock up Windows
- 25. Отображение Caps Lock для управления из Emacs в Windows
- 26. Можно ли программно отключить ключ Caps Lock в Windows?
- 27. Check Scroll Lock, Num Lock & Caps Lock в JavaScript на странице Загрузка
- 28. Как я могу включить/выключить Caps Lock, Scroll Lock, Num Lock key программно на Linux
- 29. skype log out when lock lock in ubuntu 14.04 gnome
- 30. nrjavaserial и разрешение на/var/lock (ссылка на/run/lock)
Спасибо! По тому же объему вы имеете в виду тот же жесткий диск. Правильно? – ptntialunrlsd
Подумайте об объеме == букву диска. Физический жесткий диск можно разделить на несколько томов. Если у вас есть C: и D: на одном и том же физическом диске, то перемещение файлов с C: на D: пересекает границу тома, и это будет barf в вашем сценарии. – Clay
Хорошо. Это потому, что отдельные тома будут иметь отдельные разделы, а перемещение файлов по томам будет действительно перемещаться, а не просто менять указатели? – ptntialunrlsd