Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление файла, В т.ч. и системного 
:(
    Опции темы
SoWa
Дата 4.12.2005, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Подскажите как удалить файл, если известен полный путь к нему и его имя?
И можно ли удалить файл, лежащий в папке "Windows\system32", т.е. тот, который "руками" ен удалишь.
Примечание:
Знаю есть процедура Erase(f); но может есть другой метод?


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
BlackPhoeniX
Дата 4.12.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 2.12.2005
Где: Самарская обл

Репутация: нет
Всего: нет



А чем тебе не нравится DeleteFile?
PM MAIL   Вверх
Alcohol
Дата 4.12.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 28.11.2005

Репутация: нет
Всего: нет



Наверняка в WinAPI есть средства для этого. Спроси в АПИ-шном форуме.
PM MAIL   Вверх
Демо
Дата 4.12.2005, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Можешь использовать SHFIleOperation. либо SetFileAttribute, затем DeleteFIle(либо VCL, либо Win32API).


--------------------
    
PM MAIL ICQ Skype   Вверх
Akella
Дата 5.12.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



что значит ручками?
через проводник? так и он и остальные программы используют WinAPI, чаще всего
а если через проводник не удалишь, то и через DeleteFile тоже не удалишь

это же обёртка для WinAPI
PM MAIL   Вверх
Snowy
Дата 5.12.2005, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(SoWa @ 4.12.2005, 20:01)
И можно ли удалить файл, лежащий в папке "Windows\system32", т.е. тот, который "руками" ен удалишь.

Что значит "не удалишь"?
Проблема в том, что файл занят или в том, что он самовосстанавливается?
Если первое, то его можно вместо удаления переместить в корзину.
Если второе, то нужно также удалять копию файла из dllcache.
Только делать это не рекомендуется - система не просто так защищает системные файлы.
Да и ругаться будет...
PM MAIL   Вверх
Romikgy
Дата 6.12.2005, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Как
Цитата(Snowy @ 5.12.2005, 13:45)
переместить в корзину

?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Snowy
Дата 6.12.2005, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Romikgy @ 6.12.2005, 11:00)
Как
Цитата (Snowy @ 5.12.2005, 13:45)
переместить в корзину
?

MoveFile
Перемещает даже занятые файлы. Но в пределах диска.
И только под NT версиями виндов.

Добавлено @ 11:10
Код

MoveFile('C:\Windows\file.log','C:\RECYCLER\file.log');

PM MAIL   Вверх
Romikgy
Дата 6.12.2005, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Прикольно , благодарствую.


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Nicholas
Дата 10.1.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 436
Регистрация: 30.9.2004

Репутация: нет
Всего: 0



Цитата(Snowy @ 6.12.2005, 11:08 Найти цитируемый пост)

MoveFile
Перемещает даже занятые файлы. Но в пределах диска.
И только под NT версиями виндов.


Под XP SP2 не работает!!!!

Делаю так: кидаю на диск калькулятор - запускаю его - использую MoveFile - в карзине вижу копию, а на диске файл как был так и остался!
PM MAIL ICQ   Вверх
Snowy
Дата 10.1.2006, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Проверял на XP1, XP2, Win2k3 - везде работает с Delphi7
Какая версия дельфи?
PM MAIL   Вверх
MIX55
Дата 10.1.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


много работы
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 208
Регистрация: 23.10.2005
Где: Здесь

Репутация: 3
Всего: 4



Какой смысл удалять системные файлы в частности логи если после перезапуска они вновь создаются.
--------------------
Hарод, а как в дельфи писать паскалевские проги....?*********************************************Жизнь слишком коротка, чтобы писать на Assembler'e
PM MAIL ICQ   Вверх
Guedda
Дата 10.1.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Цитата(Nicholas @ 10.1.2006, 12:55)
Цитата(Snowy @  6.12.2005,  11:08 Найти цитируемый пост)

MoveFile
Перемещает даже занятые файлы. Но в пределах диска.
И только под NT версиями виндов.


Под XP SP2 не работает!!!!

Делаю так: кидаю на диск калькулятор - запускаю его - использую MoveFile - в карзине вижу копию, а на диске файл как был так и остался!

calc.exe, notepad.exe
Я точно знаю, что они сразу восстанавливаются.
Поэтому невозможно их удалить. Можно просто перезаписать другим файлом.


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 10.1.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(MIX55 @ 10.1.2006, 14:48 Найти цитируемый пост)
Какой смысл удалять системные файлы в частности логи если после перезапуска они вновь создаются.

Вопрос принципиальный - возможность удаления занятых файлов.
Не обязательно логов.
А смысл удаления логов - они создаются с нулевым размером, а не дописываются.
PM MAIL   Вверх
Poseidon
Дата 10.1.2006, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Snowy @ 6.12.2005, 10:08 Найти цитируемый пост)

MoveFile('C:\Windows\file.log','C:\RECYCLER\file.log');
Если честно, впервые вижу что бы так удаляли в корзину! И что, в корзине появляется этот файл? smile Я всегда это делал по другому...



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Демо
Дата 10.1.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(Snowy @ 10.1.2006, 16:16 Найти цитируемый пост)

Вопрос принципиальный - возможность удаления занятых файлов.


Ну так принципиально нельзя.
Можно переименовать и создать новый файл с тем же именем. А старый пометить для удаления после перезагрузки.


--------------------
    
PM MAIL ICQ Skype   Вверх
Snowy
Дата 10.1.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Демо @ 10.1.2006, 18:19 Найти цитируемый пост)
Можно переименовать и создать новый файл с тем же именем. А старый пометить для удаления после перезагрузки.

Ну так я это и предлагаю.
Старый файл ляжет в корзинку и никуда оттуда не денется до перезагрузки.
Работа будет продолжаться с ним, а не с новым файлом.
А после перезагрузки создастся новый файлик, а старый спокойненько будет продолжать лежать в корзинке, пока ее не почистят. Или пока его не перезапишут.
PM MAIL   Вверх
Poseidon
Дата 10.1.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Snowy @ 10.1.2006, 17:36 Найти цитируемый пост)

а старый спокойненько будет продолжать лежать в корзинке, пока ее не почистят. Или пока его не перезапишут.
Да не будет он в корзинке при простом перемещении, я думал после моего поста выше вы попробовали и поняли это, ан нет, тогда попробуйте и убидитесь (или это только у меня так?)



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Snowy
Дата 10.1.2006, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Poseidon @ 10.1.2006, 19:06 Найти цитируемый пост)
Да не будет он в корзинке при простом перемещении, я думал после моего поста выше вы попробовали и поняли это, ан нет, тогда попробуйте и убидитесь
Куда перемещать - дело каждого. Можно в %TEMP%, можно найти корзину, можно вообще куда-то в свою папку, которую потом почистим.
Это уже другой вопрос.
PM MAIL   Вверх
Poseidon
Дата 10.1.2006, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Snowy @ 10.1.2006, 18:10 Найти цитируемый пост)

Это уже другой вопрос.
Это верно, но все же если "запудрить мозги" с самого начала, то потом можно не избежать проблем. Вот перемещение в %TEMP% - это самое правильное решение! smile



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0819 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.