Показать полную графическую версию : Не хватает прав для выполнения objFile.Attributes
как используя wmi сбросить аттрибуты?
часть кода где уже нашло файл
For Each objFile In colFiles
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFile.Attributes = 0
Next
и вот objFile.Attributes = 0 выдает что нету прав. Я уверен что вызов shell.run с attrib -r -s -h сделает дело но к сожалению не знаю как юзнуть здесь
надо чтото типа
Set objShell = CreateObject("Wscript.Shell")
strCommand = "attrib -r -s -h objFile"
Set objExec = objShell.Exec(strCommand)
Do Until objExec.Status
Wscript.Sleep 250
Loop
Wscript.Echo objExec.StdOut.ReadAll()
как раскрыть objFile в путь до файла?
csp, если нет прав на смену атрибутов — нет разницы, какой из методов использовать.
часть кода где уже нашло файл »
Покажите весь Ваш код.
а нет вру, снимает аттрибуты но почему то ошибку выдает, щас минуту перепроверю
ага. вот такой код - работает без проблем
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("C:\Users\HP\Desktop\activate_prog.dll")
objFile.Attributes = 0
а вот такой
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * From CIM_DataFile Where Drive = 'C:' AND FileName = 'activate_prog' AND Extension = 'dll'")
For Each objFile In colFiles
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFile.Attributes = 0
objFSO.CopyFile "C:\Users\HP\Desktop\2.dll", objFile
Next
выдает ошибку
http://s009.radikal.ru/i309/1504/36/e1c988529152.jpg
соответственно я почему то подумал на права, но здесь причина в моей кривости скорее всего.
а вот такой … выдает ошибку »
Естественно. Потому что во втором коде «objFile» — это не объект File библиотеки «Scripting.FileSystemObject», а объект «CIM_DataFile» (CIM_DataFile class (Windows) - MSDN - Microsoft (https://msdn.microsoft.com/en-us/library/aa387236%28v=vs.85%29.aspx)) из пространства имён Wbem, у которого атрибуты представляются отдельными булевыми свойствами (Archive, Compressed, Hidden и т.д.), к тому же — только для чтения.
потратил еще пару часов на гугл, и даже нашел ету тему в поиске ... мне нужно скопировать файл, даже если на конечном файле стоит только чтение и скрытый.
objFile.Copy("C:\Users\HP\Desktop\2.dll")
такое не перезапишет,
CIM_DataFile has no concept of a "working directory." Second, the Copy() method cannot be used to overwrite an existing file
а альтернатив я не знаю,
object.CopyFile "C:\Users\HP\Desktop\2.dll", objFile, true
тоже не катит здесь как метод.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.