FAKK2 писал(а):neic
"СРАЗУЖЕ" имеешь ввиду одномоментно?
Никак. Разве что несколькоми потоками, но и тогда на диск они запишуться по одному.
Private Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Public Sub MDIR(Dir As String)
If Mid(Dir, Len(Dir), 1) <> "\" Then
Dir = Dir + "\"
For i = 4 To Len(Dir)
If Mid(Dir, i, 1) = "\" Then MkDir Mid(Dir, 1, i - 1)
Next i
Else
For i = 4 To Len(Dir)
If Mid(Dir, i, 1) = "\" Then MkDir Mid(Dir, 1, i - 1)
Next i
End If
End Sub
Private Sub Form_Load()
MDIR "c:\1\2\3"
End Sub
kirrun писал(а):Я так понимаю человеку надо создать сразу весь путь...
То есть например есть диск c:\ а на нем больше ничего... А ему нужен путь c:\hernya\bred\otstoi\
И приходится делать по одной папке
MkDir c:\hernya
MkDir c:\hernya\bred...
и тд...
Вот он и хочет все сразу...
Скорее всего проще будет просто написать функцию, которой пихаешь полный путь, она его по слешам разбирает и создает...
Public Sub MDir(Dir As String)
If Right(Dir, 1) <> "\" Then Dir = Dir + "\"
For i = 4 To Len(Dir)
If Mid(Dir, i, 1) = "\" Then MkDir Left(Dir, i)
Next i
End Sub
GSerg писал(а):Тем, что может создать только последнюю папку, при условии, что все предыдущие существуют.
Private Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" (ByVal hwnd As Long, ByVal pszPath As String, ByVal psa As Any) As Long
Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 91