Войти

Показать полную графическую версию : [решено] VBS смена атрибутов файла


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

DJ Mogarych
09-04-2020, 15:19
https://stackoverflow.com/a/53635421

Arick
09-04-2020, 15:56
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
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 Создать, например, на рабочем столе значок на скрипт, и затягивать на него в проводнике или папку, или файл, то есть то, что Вам хочется обработать.




© OSzone.net 2001-2012