Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Удаление папки Добавлено: 31.10.02 16:12  

Автор вопроса:  kmk

Hi All!

У меня такой вопрос...

Из своей программы я запускаю внешнюю программу. После завершения внешней программы, появляется временная папка, с различными именами, но общими началом DIR*.tmp (например DIR90.tmp) как мне сделать так, чтобы выходя из своей программы мне удалять эту папку? Есть ли функции удаляющие папку по какой-нибудь маске?

Заранее спасибо!

Удачи!

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 SerJEANt



ICQ: 3132838 

Вопросов: 10
Ответов: 38
 Профиль | | #1 Добавлено: 31.10.02 16:31
Используй оператор RmDir (Путь к папке).   Удачи!

Ответить

Номер ответа: 2
Автор ответа:
 kmk



Вопросов: 16
Ответов: 18
 Профиль | | #2 Добавлено: 31.10.02 17:15

Hi!

А как описать шаблон, у меня один раз папка DIR90.tmp, другой раз DIR13.tmp...и т.д.  Как там прописать шаблон либо (DIR* ), либо (*.tmp)

Спасибо!

Ответить

Номер ответа: 3
Автор ответа:
 SerJEANt



ICQ: 3132838 

Вопросов: 10
Ответов: 38
 Профиль | | #3 Добавлено: 31.10.02 17:33

Так вот...у тебя эта папка где создаётся ? Например С:\Temp\Имя твоей временной папки ..... Ну и удали её к едрини фени так RmDir (C:\Temp\Имя твоей временной папки)

Если тебе конкретные файлы надо удалить то делаешь поиск "тээмпэшек" (*.tmp) в этой папке и оператором KILL удаляешь их.   Если что(может я твого вопроса не понимаю) спрашивай.

Ответить

Номер ответа: 4
Автор ответа:
 kmk



Вопросов: 16
Ответов: 18
 Профиль | | #4 Добавлено: 31.10.02 18:00

Hi!

В том то и дело, что папки DIR1.tmp, DIR2.tmp, DIR3.tmp... DIRn.tmp создаются после каждого запуска моей программы, крторая вызывает чужую программу, которая и создает эти папки в директории, где находится моя программа, ни каких темп-директорий не создается. Возможен ли шаблон DIR*.tmp (хоть есть расширение.tmp - это не файл а папка)

Спасибо!

Ответить

Номер ответа: 5
Автор ответа:
 SerJEANt



ICQ: 3132838 

Вопросов: 10
Ответов: 38
 Профиль | | #5 Добавлено: 31.10.02 18:41
Во млин так это папки с расширением *.tmp !!!  Ну вот насчёт поиска папок по расширению это даже не знаю пройдет ли у тебя это дело...так что лучше тебе искать по имени. Проверяй по 3 символа оператором Mid вырезай и если в имени папки присутствует "DIR" убивай её !

Ответить

Номер ответа: 6
Автор ответа:
 Mister U



ICQ: 809526 

Вопросов: 49
Ответов: 63
 Web-сайт: stihi.h12.ru
 Профиль | | #6
Добавлено: 31.10.02 22:13

Господа, а если во временной папке находятся файлы? Тогда с помощью RmDir папку не удалишь! Надо еще удалить и временные файлы!

---

Private Sub Form_Unload()

on error goto err

Kill "C:\Temp\Tmp\*.*" 'или путь ко временной папке

'и только после этого нужно удалять саму папку

RmDir "C:\Temp\Tmp"

err: exit sub

End Sub

---

Удачи!

Ответить

Номер ответа: 7
Автор ответа:
 kmk



Вопросов: 16
Ответов: 18
 Профиль | | #7 Добавлено: 01.11.02 12:06

Hi All!

Спасибо за помощь! Вроде у меня работает так  (правда я чайник но вроде работает, хотя может быть и неказисто)

 

Private Sub DltTmP()
    Dim StrLn As Integer
Dim FstStr As String
Dim fso, fld

For i = 0 To Dir1.ListCount - 1
 
  StrLn = Len(Dir1.Path)

'хз почему надо к длине прибавлять еще 2 может кто объяснит?
  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

Еще раз спасибо!

Удачи!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам