1

Тема: VBS: Создание скрытой папки

Вопрос простой, но не могу для папки поставить атрибут скрытый. Поискал по интернету вроде нету. Прошу сильно не "бить".

Написал функцию по созданию папок нужно для последней папки указать флаг "Скрытый". Папка статическая. Кстати функция возвращает код возврата RetCode по которому можно узнать создалась папка или нет. Может кому-то пригодится.

2 - Hidden. Скрытый. Чтение и запись.



Dim objFSO,RetCode
'Объект необходимый для работы на файловом уровне
Set objFso = CreateObject("Scripting.FileSystemObject")


'Создаем структуру папок
call CreateFolderTree (C:\1\2)

'Здесь нужно проставить для папки 2 флаг скрытый
Set CreateHiddehFolder = objFso.GetFolder(C:\1\2)

Function CreateFolderTree(P1)

    'P1 - Параметр создания папки в каталоге в виде C:\1
    'Если папка уже была создана, то RetCode 1
    Dim SettingsLine
    SettingsLine = Split(P1,"\")
    Dim Name0, Name
    For Each Name In SettingsLine
    'WScript.Echo Name
        Name0 = Name0 &Name &"\"
        On Error Resume Next
        Err.Clear
        'WScript.Echo Name0
        objFso.CreateFolder Name0

    Next

    If objFSO.FolderExists(P1) Then
        RetCode = 0
    Else 
        RetCode = 1
    End If
    
    On Error Goto 0
    
End Function

2

Re: VBS: Создание скрытой папки

Нарушение правил. Раздел 6, пункт 5.

Прикрепляемые программы или скрипты должны быть тщательно отлажены и не содержать явных (например, синтаксических) ошибок в коде.

1) Исправьте пожалуйста код.

2) Видимо плохо искали.

MSDN полезный справочник.

http://msdn.microsoft.com/en-us/library … s.84).aspx

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: VBS: Создание скрытой папки

Option Explicit

Const Hidden = 2

Dim strFolder


strFolder = "C:\1\2"

With WScript.CreateObject("Scripting.FileSystemObject")
    If Not .FolderExists(strFolder) Then
        CreateFolderEx strFolder
    End If
    
    With .GetFolder(strFolder)
        .Attributes = .Attributes Or Hidden
    End With
End With

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub CreateFolderEx(strPath)
    With WScript.CreateObject("Scripting.FileSystemObject")
        If Not .FolderExists(strPath) Then
            CreateFolderEx .GetParentFolderName(strPath)
            .CreateFolder strPath
        End If
    End With
End Sub
'=============================================================================