Содержание
Я пытаюсь найти конкретный файл на компьютере и удалить его.
Код работает только частично. Когда файл "date.vbs" находится в корневой папке (C:date.vbs), он удаляется, но когда он находится в папке (C:ackupdate.vbs), он не будет удален. Знаете ли вы, какие изменения кода я должен сделать, чтобы удалить файл, даже если он не находится в корне, но где-нибудь на компьютере?
В настоящий момент код работает очень хорошо. У меня просто проблема с удалением файла. Я могу изменить атрибуты из Read-only в нормальный, но все же я получаю ошибку отказа в доступе.
Благодарим вас за помощь!
Код, который я использую для запуска script как ADMIN. После этого он начал показывать MessageBoxes. Перед тем, как он запущен в консоли.
Итак, я считаю, что в этом коде есть что-то не так.
В данной статье я расскажу про работу с файлами средствами VBS при помощи объекта FSO и File. В принципе все методы и свойства показанные здесь очень схожи с теми, что были в предыдущем уроке про работу с папками. Я бы даже сказал, что объект File — брат близнец объекта Folder. Данный урок будет полезен при создании VBS cтиллера для кражи паролей. Ну что, приступим.
Методы объекта FSO для работы с файлами
Опять напомню, что для работы нам понадобиться вызвать объект FileSystemObject. Без него наш сценарий VBS работать не будет.
CopyFile — копирует один или несколько файлов. Возможно использовать подстановочные знаки: “*” – любое количество символов и “?” – любой один символ.
Синтаксис: CopyFile(Source, Destination [, Overwrite])
- Source — путь к файлу который копируем.
- Destination — куда копируем.
- Overwrite — не обязательный параметр. Перезаписывать существующие файлы (True) или нет (False). По умолчанию True. Если копируемый файл в папке имеет атрибут Read-Only, то возникает ошибка.
MoveFile — перемещает один или несколько фалов. Возможно использовать подстановочные символы. Если перемещаемый файл уже существует или является файлом в Destination, то выдаст ошибку.
Синтаксис: MoveFile(Source, Destination)
DeleteFile — Удаляет один или несколько файлов. Можно использовать подстановочные знаки.
Синтаксис: DeleteFile(Filespec [, Force])
- Filespec — Путь к файлу.
- Force — Не обязательный параметр. Удалять файлы с атрибутом read-only (True) или нет (False) . По умолчанию False.
А теперь наслаждаемся примером:
GetBaseName — Вернёт имя указанного файла без расширения.
GetExtensionName — Возвращает расширение указанного файла.
GetFileName — Вернёт имя файла вместе с его расширение.
GetParentFolderName — Вернёт путь к указанному файлу.
FileExists — Проверяет наличие файла. Вернёт True если он есть и False в противном случае.
GetTempName — Генерирует случайное имя файла, которое можно будет использовать для создания временных файлов.
GetFileVersion — Возвращает версию исполняемого файла.
GetFile — Вернёт объект «File» из указанного пути.
На этом непосредственно с FSO мы закончили и теперь давайте перейдём к объекту «File»
Свойства объекта File для работы с файлами
Attributes — Вернёт атрибуты (набор флагов) файла.
Пример смотрите в статье «Урок VBScript №12: Работа с папками (FSO)» — Всё аналогично, Но вместо «GetFolder» используем «GetFile».
DateCreated — Вернёт дату создания файла
DateLastAccessed — Возвращает дату последнего доступа к файлу.
DateLastModified — Вернёт дату последней модификации (Редактирования) файла.
Drive — Название диска (объект «Drive») на котором расположен файл.
Name — Вернёт имя файла
ParentFolder — Вернёт объект «Folder» родительского каталога.
Path — Вернёт полный путь к файлу.
ShortName — Возвращает короткое имя файла в формате 8.3
ShortPath — Вернёт короткий путь к фалу в формате 8.3
Size — Вернёт размер файла.
Type — Вернёт тип файла.
Методы объекта File для работы с файлами
Copy — копирует файл в указанное место. Так же можно изменять название файла.
Синтаксис: Copy(Destination [, Overwrit])
- Destination — Путь куда сохранять.
- Overwrit — Необязательный параметр. Число. Заменять файл если он существует (True) или нет (False)
Move — Перемещает файл в указанное место. Так же можно изменять название файла.
Delete — Удаляет указанный файл.
Имеет один не обязательный параметр. Число. Удалять файл если он имеет атрибут только для чтения (Read Only) — True; нет — False.
Прошу прощения за этот вялый пример, но мне было лень придумывать что то, так как и так всё понятно.
На этом я заканчиваю тему про работу с папками (FSO). Впереди ещё много нового о программирование VBS. Удачи!
пример
Используемые методы:
В следующем примере показано удаление и создание папки с использованием методов « DeleteFolder » и « CreateFolder ».
Код:
Аналогично, можно удалить файл с помощью метода DeleteFile :