VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Ответить
Аватара пользователя
O L E G

VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение O L E G »

как снять аттрибут (чтение) с файла, ПРИМЕР на диске C:\qwerty.txt
Аватара пользователя
Iska

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение Iska »

Цитата O L E G:



как снять аттрибут (чтение) с файла,
VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs




Атрибута «чтение» не существует в природе. Есть атрибут «ReadOnly», в просторечии именуемый атрибутом «Только для чтения»:
File Attribute Constants
.



Для чтения/установки атрибутов в WSH используется свойство «.Attributes» (
Attributes Property
):



Код:

Код: Выделить всё

Option Explicit
Const ReadOnly = &H01
Dim objFSO
Dim objFile
Set objFSO  = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("C:\qwerty.txt")
' Очистить атрибут «ReadOnly»
objFile.Attributes = objFile.Attributes And Not ReadOnly
' Установить атрибут «ReadOnly»
'objFile.Attributes = objFile.Attributes Or ReadOnly
Set objFile = Nothing
Set objFSO  = Nothing
WScript.Quit 0
Аватара пользователя
O L E G

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение O L E G »

Iska, подскажи как Указать сразу не сколько файлов, с которых мне нужно снять аттрибут
Аватара пользователя
Iska

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение Iska »

Код:

Код: Выделить всё

For Each strFile In Array("C:\qwerty.txt", "c:\Temp\01.txt", "d:\02\02.log")
    If objFSO.FileExists(strFile) Then
        With objFSO.GetFile(strFile)
            .Attributes = .Attributes And Not ReadOnly
        End With
    End If
Next
Аватара пользователя
O L E G

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение O L E G »

Iska, Опробовал Скрипт, выдает ошибку.

---------------------------

Windows Script Host

---------------------------

Сценарий: C:\Documents and Settings\Admin\Рабочий стол\Документы\vbs\14.vbs

Строка: 2

Символ: 5

Ошибка: Требуется объект: 'objFSO'

Код: 800A01A8

Источник: Ошибка выполнения Microsoft VBScript



---------------------------

ОК

---------------------------
Аватара пользователя
Iska

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение Iska »

O L E G, код, приведённый в
VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs
, не самодостаточный (и, увы, к тому же, содержит грубое упущение; приведённая ошибка связана не с ней). Он просто иллюстрирует, как можно:


Цитата O L E G:



Указать сразу не сколько файлов, с которых мне нужно снять аттрибут
VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs




Я полагал, что Вы уже освоились в WSH.



Вот пример полного кода:



Код:

Код: Выделить всё

Option Explicit
Const ReadOnly = &H01
Dim strFile
With WScript.CreateObject("Scripting.FileSystemObject")
	For Each strFile In Array("C:\qwerty.txt", "c:\Temp\01.txt", "d:\02\02.log")
		If .FileExists(strFile) Then
			With .GetFile(strFile)
				WScript.Echo strFile
				.Attributes = .Attributes And Not ReadOnly
			End With
		End If
	Next
End With
WScript.Quit 0
Аватара пользователя
O L E G

Re: VBS/WSH/JS - Установка\Снятие аттрибутов c помощью vbs

Сообщение O L E G »

Iska, Освоил НО, по верхностно. Благодарен
Ответить

Вернуться в «Скриптовые языки администрирования Windows»