Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] VBS смена атрибутов файла (http://forum.oszone.net/showthread.php?t=344749)

Arick 09-04-2020 14:28 2916439

VBS смена атрибутов файла
 
Здравствуйте. Я бы хотел узнать, как можно с помощью vbs назначить атрибут "Скрытый" файлу, либо создать файл с таким атрибутом.
Скажем есть C:\Users\dores нужно скрыть папку "dores" и все файлы которые внутри папки dores находятся.
Как можно посредством vbs это сделать?
Я могу через командную строку все это проделать:
"C:\Users\dores\*.*" +H +S /S /D

DJ Mogarych 09-04-2020 15:19 2916452

https://stackoverflow.com/a/53635421

Arick 09-04-2020 15:56 2916459

DJ Mogarych, код слишком большой, можно по проще?

Цитата:

Const cHidden = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")

outFile = "C:\Users\User\Desktop\New map"
Set objFile = objFSO.CreateTextFile(outFile, True)
objFile.Write "test line 1" & vbCrLf
objFile.Write "test line 2" & vbCrLf
objFile.Close

Set mapFile = objFSO.GetFile(outFile)
mapFile.Attributes = cHidden

CreateObject("WScript.Shell").Run Chr(34) & outFile & Chr(34)
Кстати, еще и ошибку выбивает, разрешение отклонено и т.д.

megaloman 09-04-2020 17:20 2916473

Arick, Еще бОльший код:
Код:

SetAttrib = 2

With WScript.Arguments
    If .Count > 0 Then
        aIn = Trim(.Item(0))
    Else
        MsgBox "Input argument missing!"
        WScript.Quit 1
    End If
End With

With CreateObject("Scripting.FileSystemObject")
    If .FolderExists(aIn) Then
        Set oIn = .GetFolder(aIn)
        Set Files = oIn.Files
        For Each f In Files
            f.Attributes = SetAttrib
        Next
        oIn.Attributes = SetAttrib + 16
    Else
        If .FileExists(aIn) Then
            Set oIn = .GetFile(aIn)
            oIn.Attributes = SetAttrib
        Else
            MsgBox "!!! " + aIn + " -folder or file not found!"
        End If
    End If
End With

Как пользоваться:
1. Сохранить код, например, в файл Script.vbs
2. Запустить в формате:
2.1.
- либо Script.vbs "Имя файла (с путём, если скрипт и файл в разных папках)" - устанавливает для этого файла атрибут скрытый
- либо Script.vbs "Имя папки (с путём, если скрипт и папка в разных папках)" - устанавливает для этой папки и файлов в ней атрибут скрытый
2.2 Создать, например, на рабочем столе значок на скрипт, и затягивать на него в проводнике или папку, или файл, то есть то, что Вам хочется обработать.


Время: 19:14.

Время: 19:14.
© OSzone.net 2001-