Страница: 1 |
Страница: 1 |
Вопрос: Как быстро удалить директорию...
Добавлено: 19.10.04 00:43
Автор вопроса: Apache2 | ICQ: 162823477
Подскажите, как можно быстро и без лишнего программного кода удалить целую директорию, с её поддиректориями и всеми файлами...
например: удалить папку C:\Windows\
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #1
Добавлено: 19.10.04 07:37
Например такую папку не удалить
а вообще есть такая функция: RemoveDirectory
Номер ответа: 2
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #2
Добавлено: 19.10.04 08:27
Ни фига! Эта функция убивает пустую папку!
Номер ответа: 3
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #3
Добавлено: 19.10.04 08:47
ну коль такое не катит, значить такое должно покатить... : http://vbnet.ru/faq/showtopic.asp?id=12
Номер ответа: 4
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #4
Добавлено: 19.10.04 11:21
Если установлен Microsoft Office - запускаешь проект, меню Project > References, ставишь птицу напротив Microsoft Scripting Runtime…
Option Explicit
 im FSO As FileSystemObject
Private Sub Command1_Click()
Set FSO = New FileSystemObject
FSO.DeleteFolder "C:\Новая папка", True
End Sub
Номер ответа: 5
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #5
Добавлено: 19.10.04 16:19
Я написал для себя так (кусочек кода):
Option Explicit
Public fs As Object
Public hj As Object
Public fk As Object
Public NameVal As String
Public Drv As String
Sub Tmp()
On Error Resume Next
Dim Xcat As String
NameVal = CStr(T1.Text & "\"
Drv = CStr(D1.Drive & "\"
Drv = CStr(Left(Drv, 2) & "\"
If T1.Text = "" Then NameVal = "user\"
Xcat = LoadResString(106)
Dim i As Integer
Set fs = CreateObject("Scripting.FileSystemObject"
Dim FL(1 To 12) As String
FL(1) = Drv & LoadResString(101)
FL(2) = Drv & Xcat & NameVal & LoadResString(102)
FL(3) = Drv & Xcat & NameVal & LoadResString(103)
FL(4) = Drv & LoadResString(104) + LoadResString(107)
FL(5) = Drv & LoadResString(104) + LoadResString(108)
FL(6) = Drv & LoadResString(104) + LoadResString(109)
FL(7) = Drv & LoadResString(105) + LoadResString(107)
FL(8) = Drv & LoadResString(105) + LoadResString(108)
FL(9) = Drv & LoadResString(105) + LoadResString(109)
FL(10) = Drv & Xcat & NameVal & LoadResString(107)
FL(11) = Drv & Xcat & NameVal & LoadResString(108)
FL(12) = Drv & Xcat & NameVal & LoadResString(109)
For i = 1 To 12
If fs.folderexists(FL(i)) Then
Set hj = fs.GetFolder(FL(i))
DelFileInFolder
DelSubFolder
End If
Next i
If Err.Number = 0 Then
MainForm.StB.SimpleText = "Удаление завершено."
Else: MainForm.StB.SimpleText = "Удаление завершено.(некоторые файлы могли быть недоступны)"
End If
End Sub
Sub DelSubFolder()
On Error Resume Next
Dim uu
Set fk = hj.subfolders
For Each uu In fk
SetAttr uu, vbNormal
fs.deletefolder uu, 1
Next
End Sub
Sub DelFileInFolder()
On Error Resume Next
Dim fd As Object
Dim uu
Set fd = hj.Files
For Each uu In fd
SetAttr uu, vbNormal
Kill uu
Next
End Sub
Номер ответа: 6
Автор ответа:
ANDREY Z5Z
Вопросов: 38
Ответов: 125
Web-сайт:
Профиль | | #6
Добавлено: 19.10.04 16:22
Да забыл, T1 - это тестовое поле. И вообще половина кода предусматривает нечто другое. Просто смотрите нужные операции удаления. Если файл занят, то он пропускается.
Номер ответа: 7
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #7
Добавлено: 19.10.04 20:23
Вот ещё моё предложение... просили всётаки без лишнего кода тогда можно батик на ходу сделать, это и очень просто, и прогу не тормозит, вообщем del C:\Windows\*.* /q ну или что-то в єтом роде
Номер ответа: 8
Автор ответа:
ASiD
ICQ: 259132473
Вопросов: 19
Ответов: 23
Профиль | | #8
Добавлено: 19.10.04 22:15
У меня на сайте есть исходник!
Номер ответа: 9
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #9
Добавлено: 20.10.04 14:23
Скинь, пожалуйста. Буду рад )
Номер ответа: 10
Автор ответа:
Alexey333
ICQ: 127708322
Вопросов: 4
Ответов: 29
Профиль | | #10
Добавлено: 20.10.04 16:06
А можно как-нибудь удалить прогу (или папку с этой пргой), которая уже запущена в данный момент?
Я вот пробовал, так запщенную прогу не хочет удалять, а незапущенную удаляет спокойно.
Номер ответа: 11
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #11
Добавлено: 20.10.04 16:39
нет нельзя, надо писать батник, и то только после перезагрузки можно будет удалить, ..., это если надо удалить свою прогу, а чужую, можно попытаться остановить выполнение, а потом уже удалить
Номер ответа: 12
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #12
Добавлено: 20.10.04 16:46
>У меня на сайте есть исходник!
А у меня есть бинарник - кто рискнет?