㊙️
875 / 237 / 57
Регистрация: 10.08.2018
Сообщений: 563
|
|
1 | |
WinApi принудительно освободить файл23.01.2020, 20:17. Показов 4193. Ответов 17
Метки нет Все метки)
(
Добрый вечер. Подскажите, как можно средствами winApi(ну или bat/vbs/js) освободить занятый файл.
Можно либо сам файл принудительно освободить, либо хотя бы узнать открытый хэндл, что бы потом его принудительно закрыть.
0
|
|
23.01.2020, 20:17 | |
Ответы с готовыми решениями:
17
Принудительно освободить память MS SQL Server 2000 SP4 Как принудительно сохранить файл, без выскакивания окошка ' Файл 1.xls уже существует, заменить?'
Освободить файл (печать) |
5871 / 2626 / 1037
Регистрация: 06.06.2017
Сообщений: 8,956
|
|
23.01.2020, 21:08 | 2 |
Никто вам тут полноценный код писать не будет (тем более на скриптовых языках). Пользуйтесь тем, что есть: Unlocker, IObit Unlocker.
1
|
4332 / 2122 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
23.01.2020, 23:17 | 3 |
0
|
![]() ![]() |
||||||
24.01.2020, 05:21 | 5 | |||||
0
|
![]() ![]() |
|
24.01.2020, 08:52 | 9 |
Тоже проверил тестовой утилью. Похоже что-то сломали апдейтами. На обновлённой оси вообще не выводит залоченные, хотя на виртуалке работает.
В таком случае, в помощь утилитки от Руссиновича: https://docs.microsoft.com/en-... ads/handle https://docs.microsoft.com/en-... ads/psfile Не по теме: Фигня правила, если нельзя ссылаться на свои статьи
0
|
5871 / 2626 / 1037
Регистрация: 06.06.2017
Сообщений: 8,956
|
|
24.01.2020, 09:58 | 10 |
Знаком с утилитами, но они не решают проблему. handle так уже точно. А psfile на ключ -с вообще не реагирует (выдаёт справку), а без оного просит службу сервера...
Гы. А правила раздела — не фигня? ![]() ![]()
0
|
㊙️
875 / 237 / 57
Регистрация: 10.08.2018
Сообщений: 563
|
|
24.01.2020, 22:10 [ТС] | 11 |
Большое спасибо за радушный прием. Если не знаете ответа, почему просто не подождать, пока ответит знающий человек(Dragokas)?
Зато грубовато высказаться - Вы оказались первым) Благодарю за помощь, как раз ночью вот нашел уже эту утилитку, и она со всем справилась=) Утилита прекрасно решает проблему освобождения файла одной строчкой кода, как мне и было нужно. Спасибо, что попытались ввести в заблуждение)
0
|
5871 / 2626 / 1037
Регистрация: 06.06.2017
Сообщений: 8,956
|
|
24.01.2020, 22:52 | 12 |
Не пишите чуши и посмотрите внимательно на свой запрос. Он никакого отношения к сторонним программам не имеет. А сторонние средства я вам и так предоставил. Человек привёл пример со встроенным средством, и результат с его же слов оказался неудовлетворительным. Не пытайтесь высосать из ситуации то, чего в ней нет.
Так нужно было действовать на опережение и записать меня в незнайки ещё здесь, тогда бы я не тратил на вас своё время... Спасибо, что продолжаете нести чушь. Я написал, что тесты с заблокированными файлами ни к чему положительному не приводят. Приведите, как вы считаете, рабочий код, я вам приведу пример с неудовлетворительным тестом на конкретном файле. А после с ним же положительные тесты с приведёнными мной программами.
0
|
㊙️
875 / 237 / 57
Регистрация: 10.08.2018
Сообщений: 563
|
|||||||||||
25.01.2020, 00:16 [ТС] | 13 | ||||||||||
Да, только после он дал ту информацию(Handle By Mark Russinovich), которая и оказалась решением моего вопроса, и если бы я этой ночью не наткнулся на нее сам, то именно его ответ помог бы мне.
За помощь в той теме, я не сказал Вам спасибо? Зачем из себя делать потерпевшего, если это не так? Там Вы были заинтересованы мне помочь, не отвечали грубо, и вопрос мой Вы решили как раз с помощью сторонней утилиты, за что я там и сказал раз 5 спасибо. Это так странно, будто с Вашего аккаунта пишут два разных человека. То вы доброжелательный гуру-эксперт, то эксперт по посыланию куда подальше. А как же ваше правило "Никто вам здесь рабочий код писать не будет" ? Но, я здесь хоть и новенький, но имею предположение, что люди сюда и приходят, что бы получить от экспертов рабочий код, и если знают какой-то сами, то поделиться им с другими. Моими скудными знаниями у меня получилось написать следующий рабочий код (может вы сможете его усовершенствовать, если это требуется):
Это код смог у меня освободить текстовый файл и видео файл, на которых я его проверил. Добавлено через 7 минут Получается можно и сразу удалить файл, если нужно:
А для полной автоматизации освобождения файла, можно сделать тихий запуск этого кода из .vbs файла.
0
|
5871 / 2626 / 1037
Регистрация: 06.06.2017
Сообщений: 8,956
|
|
25.01.2020, 06:00 | 14 |
А я типа перед в первом же посте не дал? То, что вы её проигнорировали, не далает вам чести. Это ли не прямое доказательство вешания ярлыков?
Потерпевший — это громко сказано. А моя заинтересованность ссылками на приведённые утилиты не подтверждена? То, что вы хотите видеть грубость в констатации факта, как и апеллировать к вымышленным числам, это ваш выбор. Вы жертву-то из себя не стройте. Вы чётко написали: Вы где-то в ответах видите средства WinAPI или bat/vbs/js? В контексте данного запроса рабочий код без сторонних утилит появился? Нет. А значит, мой тезис о рабочем коде правдив на 100%. И не появится, потому что написать полноценное средство (пусть и без GUI) уровня приведённых мной программ займёт не одну неделю, а то и не один месяц. Вот я и пишу то, что для меня очевидно, но неочевидно для вас. Называть это посыланием куда подальше как минимум невежественно и глупо, как и присовокуплять к кому-то "гуру"-ярлыки... Зачем, если я данное средство причислил к ненадёжным? Ну, вот запустил я в Gecko-браузере видео с видеохостинга, появился файл %Tmp%\mozilla-temp-files\mozilla-temp-243. Пытаюсь его разблокировать вашим кодом. Результат нулевой, в то время как с обеими программами, что я привёл, положительный. Так у вас ещё и запрос неполноценный. С утилитой по первой ссылке это делается без всяких powershell'ов и т. п.: Unlocker.exe C:\Files\test.txt -D -S При желании можно обрабатывать список ( /L , /LU ). Справка вызывается ключами: -? , /? , -H , /H .И с ярлыка (а лучше с кнопки в ФМ) будет тихий запуск без нужды в vbs и тормозного старта с posh...
0
|
㊙️
875 / 237 / 57
Регистрация: 10.08.2018
Сообщений: 563
|
||||||
25.01.2020, 19:49 [ТС] | 15 | |||||
Вы бы сразу это написали, тогда бы я Вас сразу правильно понял.
Прошу прощения, я не знал, что анлокером можно пользоваться через команды, в этом все дело. На их сайте всё описание говорит о том, что пользоваться им можно только через интерфейс, кликая мышкой. Только в заголовках сравнительной таблицы обнаружил словa comand line, и тогда уже призадумался. А у handle прямо на верху страницы сразу идет описание запуска командной строкой. Все вот это и запутало меня сначала. Что не нравится Вам в слове "гуру"? Насколько мне известно, это слово означает: человек с большим опытом, сильно осведомленный в какой-то области. Так что это был комплимент, так как помню как Вы помогали мне с моим вопросом. У меня тоже сначала не получилось. Нужно запустить ps от администратора, и указать путь к папке, где лежит handle.exe. Поправил код, теперь по идее должен сработать, попробуйте:
0
|
4332 / 2122 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||||||||||
25.01.2020, 20:28 | 16 | ||||||||||
этой штукой тоже можно пользоваться из командной строки:
Разблокировать
0
|
㊙️
875 / 237 / 57
Регистрация: 10.08.2018
Сообщений: 563
|
|
25.01.2020, 20:38 [ТС] | 17 |
alpap, Спасибо за еще один вариант решения.
0
|
5871 / 2626 / 1037
Регистрация: 06.06.2017
Сообщений: 8,956
|
|
25.01.2020, 21:54 | 18 |
Не по теме: А просто спросить вместо построения догадок на мой счёт, не? Принимается. Это фальшивое определение, подмена исходного духовного начала наставничества/мастерства, ко мне как не пришей рукав. ;) Аналогично. Нет, ссылки там не первый год битые. Вот из архива. Есть ещё сборка PortableAppZ. У меня было и так и эдак, поэтому пользуюсь обеими.
0
|
25.01.2020, 21:54 | |
25.01.2020, 21:54 | |
Помогаю со студенческими работами здесь
18
Oledbconnection не успевает освободить файл Освободить файл, занятый в PictureBox
Открыть файл MemoryStream и освободить для других операций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |