Ошибка при проверке существования файла (VBS)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, у меня проблема: есть файл, в который я пишу логи своего скрипта. У данного файла выставлены права только на чтение. Я хочу при записи новых логов в данный файл, менять у него права, предварительно проверяя, есть ли такой файл или нет. Делаю я это таким способом:
Листинг программы
  1. If oFSO.FileExist(sLogPath) Then
  2. sLogFile.Attributes = 0
  3. End If
Тут - то и начинается трабл, так как пишет интерпретатор, что такое свойство объект не поддерживает. буду признателен за помощь. Может, неправильно делаю что-то? Подскажите.
Листинг программы
  1. Sub GetFilesList(FolderName)
  2. Const sLogPath = "C:\Temp\copy_file.txt"
  3. ' Создание объекта класса FileSystemObject
  4. Set oFSO = CreateObject("Scripting.FileSystemObject")
  5. ' Создание объекта Folder
  6. Set oFolder = oFSO.GetFolder(FolderName)
  7. Set oLogFile = oFSO.CreateTextFile(sLogPath, True)
  8. ' Получение коллекции файлов
  9. Set oFilesCollection = oFolder.Files
  10. ' Получение количества элементов в коллекции
  11. sResult = sResult & " Скопировано файлов: " & oFilesCollection.Count & vbCrLf
  12. ' Чтение атрибутов каждого файла из коллекции
  13. For Each oFile in oFilesCollection
  14. sResult = sResult & oFile.Name & vbTab
  15. sResult = sResult & oFile.Size & vbCrLf
  16. Next
  17. Set sLogFile = fso.GetFile(sLogPath)
  18. ' ********* РУГАЕТСЯ НА ЭТИ СТРОЧКИ *****************
  19. 'если файл с логами существует, то изменяем права на доступ
  20. 'If oFSO.FileExist(sLogPath) Then
  21. ' sLogFile.Attributes = 0
  22. 'End If
  23. '************************************************
  24. oLogFile.Writeline(sResult)
  25. 'устанавливаем права только на чтение
  26. sLogFile.Attributes = 1
  27. MsgBox(sResult)
  28. MsgBox "Информация о копировании сохранена в Файл " & sLogPath, vbInformation, "Логирование работы программы"
  29. End Sub

Решение задачи: «Ошибка при проверке существования файла (VBS)»

textual
Листинг программы
  1. oLogFile.Writeline(sResult)
  2. oLogFile.Close
  3. Set oLogFile = Nothing
  4.  
  5. Set sLogFile = ofso.GetFile(sLogPath)
  6. sLogFile.Attributes = 1
  7. Set sLogFile = Nothing

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут