|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
||||||
Проверка занятости папки (Альтернатива)30.04.2018, 20:35. Показов 4232. Ответов 18
Метки нет (Все метки)
Привет кодописЕц!
Хочу поднять тему проверки на занятость файла или папки. Перед созданием темы искал информацию, напишу сразу, ps, костыль wget, и handle – не предлагать. Сторонние программы не приветствуются. Мой вариант:
Во время «проверки» папки скрипт успевает переименовать конечную папку копирования и дать положительный результат, также теряется некоторая часть информации (Выделил на скриншоте). Вопрос/проблема: Существует ли более практичный вариант проверки занятости папки на чистом bat?
0
|
||||||
| 30.04.2018, 20:35 | |
|
Ответы с готовыми решениями:
18
Проверка на наличие папки и запуск |
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 01.05.2018, 12:20 | ||
|
kozidub21
чем дальше в лес тем всё более все стараются найти что-то универсальное для всего и вся. Так вот, такого не будет. Папка может быть занята много чем, от простых команд до серьезных процессов от которых не просто отделаться и для каждого своя палка нужна чтобы отбиваться. Привыкайте для каждого конкретного случая использовать свой узкий инструмент, это более эффективно чем надеяться на громоздкий, якобы универсальный, код с которым никто и разбираться не захочет, если что пойдет не так. Добавлено через 4 минуты
1
|
||
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
|
| 25.05.2018, 14:11 [ТС] | |
|
alpap,
Можете ли посоветовать утилиты (Консольные) которые смогут выполнить данную задачу? То есть, проверить занятость папки процессом (Который читает или копирует папку) и вернуть «Положительный» или «Отрицательный» код.
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||
| 25.05.2018, 22:38 | ||
|
нужен конкретный пример, что пытается что-то сделать с папкой и что происходит в это время, какая ошибка или сообщение о том что папка занята.
1
|
||
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
|
| 26.05.2018, 13:34 [ТС] | |
|
alpap,
Например, есть сетевая папка, где участвует 3 пользователя, один из которых хост. Предполагаем, что скрипт будет работать на хосте. Первый пользователь начал копирование (Стандартными средствами Windows) новой папки в сетевую папку. Во время копирования папки первым пользователем при РУЧНОЙ попытке скопировать или переименовать папку (Хостом) – Windows выдает ошибку о том, что файл открыт где-то там … Хотелось бы определить эту ошибку средствами cmd, а при её отсутствии выполнить действие, например, скопировать эту папку, а заем её удалить. Хотел использовать команду xcopy, но так и не понял, как «проверить» возможность скопировать без самой операции копирования. В первом посте, использую «Попытку» переименовать папку во время копирования, но даже с частотой в одну секунду скрипт вопреки тому, что папка открыта где-то там .., переименовывает папку в новое название с ЧАСТЬЮ скопированных данных. Что делает третий пользователь? - Он не должен «Получить доступ» к папке, за исключением периода копирования первым пользователем.
0
|
|
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
| 27.05.2018, 04:36 | |
|
kozidub21,
полный бардак как я погляжу переименовать или удалить папку должен иметь права только один самый главный человек копировать из папки или папку - сколь угодно много на усмотрение выше указанного человека вот собственно и проблема отпадает сама собой.
1
|
|
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
|||||||||
| 27.05.2018, 11:48 [ТС] | |||||||||
|
alpap,
Доброе утро. Экспериментально: Если при обнаружении новой папки «хосту» установить на неё свои права, то пользователь, который копирует большой массив вложенных папок и файлов потеряет доступ и прервет копирование, этот вариант не подходит. Решать однотипные задачи – не интересно, давайте попробуем добить, и чтобы добавить понятности в текущую тему, приведу в пример код:
0
|
|||||||||
|
|
|||||||||||
| 28.05.2018, 00:04 | |||||||||||
Сообщение было отмечено kozidub21 как решение
Решение
Openfiles
Штатный инструмент windows начиная с XP, похож на lsof из linux, только с меньшим функционалом. Умеет показывать файлы открытые как с удаленного хоста, так и локально. Для отображения локально открытых файлов нужно ввести команду
Удаленно открытые файлы openfiles показывает по умолчанию. Вывод данных в формате csv:
P.S. Если это не то, не обессудьте - других штатных инструментов для такой задачи не знаю.
1
|
|||||||||||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
||||||
| 28.05.2018, 01:11 | ||||||
|
kozidub21,
мне лично вообще непонятна постановка вопроса как: "Проверка занятости папки" поясню чего если папка еще не занята, то ( при отсутствии машины времени и магического шара) мы никак не можем знать кем и когда она будет занята, напротив, если она занята, это уже произошло (как кирпич на голову - точно известный фактор) и система об этом оповестит (2>nul, поток ошибок не занулял чтобы показать):так вот в этом случае, вопрос может быть только кем занята папка, почему, на долго ли, но для этого есть, например, Process Monitor и ему подобные вещи. Или вопрос может стоять как разблокировать злосчастную папку, для этого уже есть разные Unlockerы так повторюсь. какой смысл делать проверку занятости папки, это постоянный мониторинг примерно таким кодом?
1
|
||||||
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
||||||
| 29.05.2018, 12:25 [ТС] | ||||||
|
alpap,
Доброе утро. Не использовал move, давайте попробуем.
Так же по второму скриншоту можно судить что за время «Ожидания» условие на 41 строке было хотя бы 1 раз истинно. После такого колдовства, я получаю 6 кусков информации, которые в совокупности представляют мусор. Единичная проверка – все хорошо, а вот в «Цикле» - одно волшебство.
0
|
||||||
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
||||||
| 29.05.2018, 12:36 [ТС] | ||||||
|
Garry Galler,
Это то что нужно! Спасибо! Никогда не слышал об этой команде. И так, давайте попробуем:
![]() Спасибо за участие, alpap.
0
|
||||||
|
|
|
| 30.05.2018, 18:50 | |
|
kozidub21, еще инфа по openfiles: Как получить список открытых файлов?
1
|
|
|
30 / 29 / 9
Регистрация: 16.01.2018
Сообщений: 80
|
|
| 30.05.2018, 20:12 [ТС] | |
|
Dragokas,
Не по теме: Видать за 2 часа уже стала битая. :scratch:
0
|
|
|
|
||||||
| 31.05.2018, 15:25 | ||||||
1
|
||||||
|
|
|
| 31.05.2018, 17:19 | |
|
Joey, Garry Galler, ещё раз повторю, то, что ваш сайт подменяет на-лету одни слова на другие - это проблемы сугубо вашего сайта. Поэтому недовольство того, что вы не можете читать статьи с вражеских по мнению администрации сайтов, - направляйте администрации, а не мне. В оригинале там вместо resources было threads.
0
|
|
|
|
|
| 31.05.2018, 17:34 | |
|
Dragokas,
Ну так-то да. Согласен. Но вы же об этом лучше других знаете (были модератором). И с некоторыми тегами можно обойти это автозамену. Добавлено через 6 минут А с "вражеских" сайтов статьи прекрасно находятся поисковиком :-)
0
|
|
| 31.05.2018, 17:34 | |
|
Помогаю со студенческими работами здесь
19
Проверка папки на новые файлы Проверка существования заданной папки на нескольких компьютерах Проверка существующей папки и добавление цифры к ней
Проверка наличия папки и последующее копирование файлов в зависимости от разрядности системы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|