Страница: 1 |
Hi All! У меня такой вопрос... Из своей программы я запускаю внешнюю программу. После завершения внешней программы, появляется временная папка, с различными именами, но общими началом DIR*.tmp (например DIR90.tmp) как мне сделать так, чтобы выходя из своей программы мне удалять эту папку? Есть ли функции удаляющие папку по какой-нибудь маске? Заранее спасибо! Удачи!
Hi! А как описать шаблон, у меня один раз папка DIR90.tmp, другой раз DIR13.tmp...и т.д. Как там прописать шаблон либо (DIR* ), либо (*.tmp) Спасибо! Так вот...у тебя эта папка где создаётся ? Например С:\Temp\Имя твоей временной папки ..... Ну и удали её к едрини фени так RmDir (C:\Temp\Имя твоей временной папки) Если тебе конкретные файлы надо удалить то делаешь поиск "тээмпэшек" (*.tmp) в этой папке и оператором KILL удаляешь их. Если что(может я твого вопроса не понимаю) спрашивай. Hi! В том то и дело, что папки DIR1.tmp, DIR2.tmp, DIR3.tmp... DIRn.tmp создаются после каждого запуска моей программы, крторая вызывает чужую программу, которая и создает эти папки в директории, где находится моя программа, ни каких темп-директорий не создается. Возможен ли шаблон DIR*.tmp (хоть есть расширение.tmp - это не файл а папка) Спасибо! Господа, а если во временной папке находятся файлы? Тогда с помощью RmDir папку не удалишь! Надо еще удалить и временные файлы! --- Private Sub Form_Unload() on error goto err Kill "C:\Temp\Tmp\*.*" 'или путь ко временной папке 'и только после этого нужно удалять саму папку RmDir "C:\Temp\Tmp" err: exit sub End Sub --- Удачи! Hi All! Спасибо за помощь! Вроде у меня работает так (правда я чайник но вроде работает, хотя может быть и неказисто) Private Sub DltTmP() For i = 0 To Dir1.ListCount - 1 'хз почему надо к длине прибавлять еще 2 может кто объяснит? 'Для Дмитрия фсо удаляет директорию со всеми потрахами Еще раз спасибо! Удачи! Страница: 1 |
Вопрос: Удаление папки
Добавлено: 31.10.02 16:12
Автор вопроса: kmk
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #1
Добавлено: 31.10.02 16:31
Используй оператор RmDir (Путь к папке). Удачи!
Номер ответа: 2
Автор ответа:
kmk
Вопросов: 16
Ответов: 18
Профиль | | #2
Добавлено: 31.10.02 17:15
Номер ответа: 3
Автор ответа:
SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #3
Добавлено: 31.10.02 17:33
Номер ответа: 4
Автор ответа:
kmk
Вопросов: 16
Ответов: 18
Профиль | | #4
Добавлено: 31.10.02 18:00
Номер ответа: 5
Автор ответа:
SerJEANt
ICQ: 3132838
Вопросов: 10
Ответов: 38
Профиль | | #5
Добавлено: 31.10.02 18:41
Во млин так это папки с расширением *.tmp !!! Ну вот насчёт поиска папок по расширению это даже не знаю пройдет ли у тебя это дело...так что лучше тебе искать по имени. Проверяй по 3 символа оператором Mid вырезай и если в имени папки присутствует "DIR" убивай её !
Номер ответа: 6
Автор ответа:
Mister U
ICQ: 809526
Вопросов: 49
Ответов: 63
Web-сайт:
Профиль | | #6
Добавлено: 31.10.02 22:13
Номер ответа: 7
Автор ответа:
kmk
Вопросов: 16
Ответов: 18
Профиль | | #7
Добавлено: 01.11.02 12:06
Dim StrLn As Integer
Dim FstStr As String
Dim fso, fld
StrLn = Len(Dir1.Path)
FstStr = Mid(Dir1.List(i), StrLn + 2, 3)
If FstStr = "DIR" Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(Dir1.List(i))
fld.Delete
End If
Dir1.Path = App.Path
Dir1.Refresh
Next i
End Sub