Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   как удалить неудаляемый файл? (http://forum.oszone.net/showthread.php?t=182541)

Ingolder 09-08-2010 23:05 1470364

как удалить неудаляемый файл?
 
Собственно, вопрос. Файл (dll) лежит в C:\windows\system32\
Я сам его туда скопировал и юзал по своей надобности в самописной программе. Теперь, когда я хочу его удалить, он не удаляется, несмотря на то, что никакой процесс его не использует (ну, видимо).
Как его удалить? есть вариант из командной строки узнать, какой процесс юзает этот файл и убить его? или как-то по-другому узнать причину неудаления и решить?

Iska 09-08-2010 23:24 1470376

Цитата:

Цитата Ingolder
несмотря на то, что никакой процесс его не использует (ну, видимо). »

Process Explorer («\Find\Find Handle or DLL…»)
Unlocker
Далее — завершать/снимать процесс и удалять файл библиотеки («Unlocker» умеет сие делать сам). Если никак не получается (например, теоретически, задействована в системной службе) — использовать утилиту PendMoves and MoveFile для удаления файла библиотеки после перезагрузки.

deepred 09-08-2010 23:36 1470394

Ingolder,

Попробуйте для начала отменить регистрацию DLL:

Код:

regsvr32 /u  name.DLL-файл
Для проверки использования DLL воспользуйтесь фунцией фильтров tasklist:

Код:

Echo off
tasklist /fi "Modules eq name.dLL"
pause

Для удаления:
Код:

Echo off
Del /f name.DLL
pause


Vadikan 10-08-2010 02:21 1470475

Вопрос вообще не по скриптам. ОС укажите и тема будет перенесена в соотв. раздел. А можете даже не указывать, достаточно загрузиться в консоль восстановления / RE и удалить.

Ingolder 10-08-2010 23:37 1471105

Vadikan, вопрос вообще по скриптам - как это сделать из командной строки. ОС - XP sp3 rus x86

Iska, Спасибо, но мне нужно решение из cmd. И без перезагрузок.

deepred, спасибо, вроде должно помочь. Как руки дойдут до дела - отпишусь

Ingolder 11-08-2010 09:25 1471246

deepred,
regsvr32 /u name.DLL-файл - не помогло

tasklist /fi "Modules eq name.dLL" выдаёт: Ошибка: Фильтр поиска не опознан.

Del /f name.DLL - Отказано в доступе.



p.s. странное дело, файл переименовать могу, а удалить не могу.
На файл в системе у меня полные права. Значит, наверное как-то винда защищает файлы в папке system32, даже если не использует.

Vadikan 11-08-2010 22:30 1471791

Цитата:

Цитата Ingolder
вопрос вообще по скриптам - как это сделать из командной строки. »

В консоли восстановления командная строка и есть.

Цитата:

Цитата Ingolder
И без перезагрузок. »

Это каприз.

RUVATA 12-08-2010 12:37 1472071

Цитата:

Раздел справки:
Использование операторов перенаправления команд....

...
Перенаправление ввода (<)
Для перенаправления ввода с клавиатуры на файл или устройство используется оператор «<». Например, для ввода данных в команду sort из файла File.txt введите:

sort<file.txt

Содержимое файла File.txt появится в командной строке в виде списка в алфавитном порядке.

Оператор «<» открывает заданное имя файла с доступом только для чтения. Поэтому с его помощью нельзя записывать в файл. Например, при запуске программы с оператором <&2 все попытки прочитать дескриптор 0 ни к чему не приведут, так как изначально он был открыт с доступом только для записи.

Примечание

Дескриптор 0 задан по умолчанию для оператора перенаправления ввода «<».
Перенаправление вывода (>)
Выходные данные практически всех команд высвечиваются в окне командной строки. Даже команды, выводящие данные на диск или принтер, выдают сообщения и запросы в окне командной строки.

Для перенаправления вывода из окна командной строки в файл или на устройство применяется оператор «>». Этот оператор используется с большинством команд. Например, для перенаправления вывода команды dir в файл Dirlist.txt введите:

dir>dirlist.txt

Если файл Dirlist.txt не существует, интерпретатор команд Cmd.exe создаст его. Если файл существует, Cmd.exe заменит информацию в файле на данные, полученные от команды dir.

Для запуска команды netsh routing dump и отправки результатов ее работы в файл Route.cfg введите:

netsh routing dump>c:\route.cfg

Оператор «>» открывает заданный файл с доступом только для записи. Поэтому с помощью данного оператора файл прочитать нельзя. Например, при запуске программы с оператором перенаправления >&0 все попытки записать дескриптор 1 ни к чему не приведут, так как изначально дескриптор 0 был открыт с доступом только для чтения.

перенаправь потом удаляй... то-же что и делает Unlocker только ручками

Lucretius 11-10-2013 20:17 2232866

Цитата:

Цитата RUVATA
перенаправь потом удаляй... то-же что и делает Unlocker только ручками »

Приведите пожалуйста пример...


Время: 15:55.

Время: 15:55.
© OSzone.net 2001-