вторник, 28 февраля 2017 г.

Создание каталога по переданному пути

%REM
Function CreateFolder
Description: Функция создает каталог из параметра, указанного в функции
Каталог создается вне зависимости от того, существует ли папка верхнего уровня или нет.
        То есть, если передается для создания каталог c:\folder\subf1\subf2, то он будет создан вне зависимости от того, существуют ли каталоги subf1 и folder.
Работает только под ОС Windows так как использует возможности Windows Script Host.
Возвращает:
- 0, если произошла ошибка при создании каталога
- 1, если каталог создан
%END REM
Function CreateFolder(pathtodir As string)
CreateFolder=0
Dim FSO
Dim drive As String
Dim relativepath As String
Dim arraypath
Dim i As Integer
Dim bound As Integer

On Error GoTo ErrH

Set FSO = CreateObject("Scripting.FileSystemObject")
arraypath = Split(pathtodir, "\")
bound = UBound(arraypath)
drive = arraypath(0)
relativepath=""
For i%=1 To bound
relativepath = relativepath + arraypath(i)
If FSO.FolderExists(drive + "\" + relativepath)=False Then
Call FSO.CreateFolder(drive + "\" + relativepath)
End If
relativepath = relativepath + "\"
Next
CreateFolder=1
ExitOfSub:
Exit function
ErrH:
Resume ExitOfSub
End Function

Комментариев нет:

Отправить комментарий