Вместо типа папка с файлами стали тип файл поддержки windows vbscript
Объектная модель FileSystemObject (FSO) позволяет вам работать программно с дисками и файлами так же, как вы это делаете в Проводнике Windows интерактивно. Вы можете копировать и перемещать папки, получать информацию о дисках и папках и т.п.
Получение информации о дисках
- Общий объём диска в байтах (свойство TotalSize)
- Объём свободного места на диске в байтах (свойства AvailableSpace или FreeSpace)
- Какая буква назначена диску (свойство DriveLetter)
- Тип диска: съёмный, не съёмный, сетевой, CD-ROM или RAM-диск (свойство DriveType)
- Серийный номер диска (свойство SerialNumber)
- Тип файловой системы: FAT, FAT32, NTFS или др. (свойство FileSystem)
- Доступность диска в текущий момент (свойство IsReady)
- Сетевое имя или метка тома (свойства ShareName и VolumeName)
- Путь к корневой директории диска (свойства Path и RootFolder)
Пример использования объекта Drive
Используйте объект Drive для получения информации о диске. Вы не увидите ссылку на актуальный объект Drive в следующем коде. Вместо этого используется метод GetDrive для получения ссылки на существующий объект Drive (в нашем примере это переменная drv).
Следующий пример демонстрирует использование объекта Drive в VBScript:
Работа с папками
Общие задачи по работе с папками и методы для их выполнения описаны ниже в таблице:
Задача | Метод |
Создание папки | FileSystemObject.CreateFolder |
Удаление папки | Folder.Delete или FileSystemObject.DeleteFolder |
Перемещение папки | Folder.Move или FileSystemObject.MoveFolder |
Копирование папки | Folder.Copy или FileSystemObject.CopyFolder |
Получение имени папки | Folder.Name |
Узнать, существует ли папка на диске | FileSystemObject.FolderExists |
Получить экземпляр существующего объекта Folder | FileSystemObject.GetFolder |
Получить имя родительской папки | FileSystemObject.GetParentFolderName |
Получить путь системных папок | FileSystemObject.GetSpecialFolder |
Пример использования данного объекта см. в разделе «3.7. Пример работы с объектом FileSystemObject».
В следующем примере показано использование объектов Folder и FileSystemObject, где выполняется управление папками и получение информации о них:
Читайте, как удалить вирус преобразующий файлы и папки в ярлыки. Как восстановить данные, которые утеряны в результате деятельности такого вируса. Ваши файлы и папки на USB флешке или карте памяти стали ярлыками? USB флешка или карта памяти после подключения к компьютеру отображается как ярлык? Ищете как восстановить данные и удалить вирус, преобразовывающий файлы и папки в ярлыки? Вы используете антивирус, но компьютер все равно был инфицирован? К сожалению не все антивирусы могут защитить вас такого заражения.
Однако в отличие от вирусов шифровальщиков, этот тип вирусов достаточно безобидный и вы легко сможете восстановить данные и удалить сам вирус.
Разновидности вирусов ярлыков
На сегодня наиболее распространены 2 типа вирусов, создающих ярлыки: первые создают ярлыки вместо файлов и папок на флешке или карте памяти, другие создают ярлыки съемных дисков вместо самих флешек, внешних USB дисков и карт памяти.
Названия наиболее распространенных вирусов:
Вирус, преобразующий файлы и папки в ярлыки
Этот вирус дублирует ваши файлы и папки, затем прячет и заменяет их. Вирус представляет комбинацию вирусов трояна и червя. Опасность заключается в том, что вы запускаете вирус каждый раз, когда хотите открыть ваш файл или папку. После запуска вирус распространяет себя заражая все большее количество файлов и часто устанавливает дополнительно вредоносное ПО которое может украсть данные о паролях и кредитных картах, сохраненных у вас на компьютере.
Вирус, преобразующий флешки и карты памяти в ярлыки
Это чистокровный троянский вирус, который скрывает любые съемные устройства, подключенные к компьютеру и заменяет их ярлыками этих устройств. Каждый раз кликая по ярлыку вы снова запускаете вирус, который ищет на вашем компьютере финансовую информацию и отправляет ее мошенникам, создавшим вирус.
Что делать в случае заражения
К сожалению не все антивирусы могут вовремя обнаружить опасность и защитить вас от инфицирования. Поэтому наилучшей защитой будет не использовать автоматический запуск съемных устройств и не кликать по ярлыкам файлов, папок или дисков. Будьте внимательны и не кликайте по ярлыкам, которые вы не создавали сами. Вместо двойного клика для открытия диска, кликните по нему правой кнопкой мышки и выберите Развернуть в Проводнике.
Восстановление данных удаленных вирусом
Для надежного восстановления данных удаленных таким типом вирусов используйте Hetman Partition Recovery. Поскольку программа использует низкоуровневые функции по работе с диском, она обойдет вирусную блокировку и прочитает все ваши файлы.
Инструмент восстанавливает файлы с любых устройств, независимо от причины потери данных.Загрузите и установите программу, затем проанализируйте зараженную флешку или карту памяти. Проведите восстановление информации до очистки носителя от вируса. Наиболее надежным вариантом лечения будет очистка флешки с помощью команды DiskPart, это удалит всю информацию на ней.
Удаление вируса с карты памяти или USB флешки
После восстановления данных с флешки вы можете её полностью очистить с помощью утилиты DiskPart. Удаление всех файлов и форматирование устройства может оставить вирус, который спрячется в загрузочном секторе, таблице разделов или на неразмеченной области диска. Как правильно очистить флешку смотрите в видео.
Удаление вируса с флешки с помощью командной строки
Данный способ не позволяет гарантированно очистить флешку от всех видов вирусов, но сможет удалить вирус, который создает ярлыки вместо файлов. Вам не нужно будет скачивать и устанавливать сторонние утилиты, удаление производится с помощью встроенного в любую версию Windows инструмента.
Кликните правой кнопкой мышки по меню Пуск и запустите командную строку от имени администратора.
Введите команду f: и нажмите Enter (где f – это буква флешки зараженной вирусом).
Введите команду: attrib f:*.* /d /s -h -r –s и нажмите Enter:
- –h: показывает все скрытые файлы на флешке;
- –r: убирает параметр только для чтения;
- –s: убирает параметр системный со всех файлов.
Удаление вируса с компьютера
Наиболее простым и надежным способом очистки компьютера от вируса будет полная переустановка Windows с удалением системного раздела.
Но если вы являетесь опытным пользователем, вы можете опробовать следующий способ:
Отключите запуск вируса при старте Windows в реестре. Нажмите клавиши Win + R, в появившемся окне введите regedit и нажмите Enter. Перейдите к ключу HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion / Run.
Просмотрите все ключи, которые находятся в этом разделе. Если вы видите необычное название или расположение программы – удалите запись. Часто вирусы прячутся под автоматически сгенерированными названиями, например – sfdWQD234dcfF. Любые ключи, которые запускают VBS, INI, LINK или EXE файлы потенциально опасны. Однако только вы знаете какие программы установлены на компьютере и должны загружаться при старте Windows, поэтому вы должны сами принять решение об удалении того или иного ключа. Для удаления выделите ключ левой кнопкой мышки и удалите его кнопкой Del.
Отключите запуск вируса через службы Windows. Нажмите клавиши Win + R, в появившемся окне введите msconfig и нажмите Enter. В открывшемся окне перейдите на вкладку Службы. Просмотрите их и отключите все подозрительные.
Отключите приложения, запускаемые автоматически через диспетчер задач (для Windows 8и старше). Нажмите Ctrl + Shift + Esc и перейдите на вкладку Автозагрузка. Для отключения подозрительного приложения по нему нужно кликнуть правой кнопкой мышки и выбрать Отключить.
Автор: Vladimir Mareev, Технический писатель
Владимир Мареев - автор и переводчик технических текстов в компании Hetman Software. Имеет тринадцатилетний опыт в области разработки программного обеспечения для восстановления данных, который помогает ему создавать понятные статьи для блога компании. Спектр публикаций довольно широк и не ограничивается только лишь темой программирования. Статьи включают также разнообразные обзоры новинок рынка компьютерных устройств, популярных операционных систем, руководства по использованию распространенных и специфических программ, примеры решений возникающих системных или аппаратных проблем и многие другие виды публикаций. Подробнее
Иногда в WSH-скрипте требуется получить несколько больше свойств файла, чем просто имя, атрибуты, дата создания и подобное. Например, требуется получить битрэйт и/или заголовок песни mp3-файла, разрешение в точках jpg-файла, автора и/или тему документа MS Office и т.д. Подобные свойства можно увидеть в проводнике в палитре свойств файла на вкладке "Сводка" (или просто вывести эти свойства в колонки списка файлов проводника). Оказывается, эти же свойства не проблема получить и программно в скриптах. Нижеприведённый скрипт демонстрирует получение таких свойств для абстрактного файла "D:\Temp\123.jpg":
Номера различных свойств разных форматов файлов вы можете найти экспериментально, перебрав номера свойств в цикле до какого-нибудь достаточно большого значения (что и сделано в скрипте с помощью переменной "i").
Идею опубликовал smaharbA.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.
- wisgest
- Разработчик
- Неактивен
Метод Folder.GetDetailsOf(), вызванный без первого аргумента или с первым аргументом не являющимся объектом FolderItem, возвращает не значение i-го свойства конкретного файла, а название этого свойства (для русских версий Windows — по-русски).
Замечание к скрипту: если интересующая папка (например, zip-папка) отсутствует в дереве папок, то можно просто ввести путь к ней.
Как мы уже говорили, В VBS для работы с файловой системой существует FileSystemObject.
При помощи FSO можно работать с папками. Алгоритм начала работы такой:
1. Объявляем переменную. Не обязательно такое же название, но оно наиболее логичное. А ещё, ваш код будет понятнее для других.
Dim FSO
2. Записываем в переменную FSO копию объекта FileSystemObject, который предназначен для работы с файловой системой Windows
3. Получаем доступ к папке в переменной fold
А теперь давайте посмотрим, что мы можем сделать с папками?
А так же непосредственно с FSO:
Коллекция SubFolders
Set subfold = f.SubFolders
Теперь мы получили доступ к подкаталогам выбранного каталога в переменную subfold. Давайте взглянем на простой пример использования коллекции SubFolders:
Давайте разберёмся поподробнее. Итак, вводим путь в переменную Path. Далее в переменную FSO копируем объект FileSystemObject(строка2). Далее при условии, что путь существует(строка 4, FolderExists) мы в переменную oFolders получаем доступ к папке по указанному пути(строка 5). Далее мы в переменную oSubFolders получаем коллекцию SubFolders в переменную oSubFolders(строка 6). Далее мы начинаем цикл For Each для каждого элемента, названного нами item в коллекции oSubFolders(та самая переменная, куда мы полуили коллекцию SubFolders) в строке 7. В 8 строке кода мы добавляем к переменной TEMP название папки(item.Name) и выполняем переход на след.строку(chr(13)).
Если каталога не существует, то в переменную TEMP заносится об этом строчка(строка 11). Ну выводим результат в 14 строчке кода. Вот, примерно так и происходит работа с коллекцией.
Так же порой полезно получить количество элементов коллекции. Это нам может понадобится, если мы захотим занести данные о папках в массив.
В прошлом случае, для переменной с коллекцией oSubFolders можно было применить: oSubFolders.count
Это бы нам вернуло количество элементов коллекции.
Вот, вроде бы и всё. Далее будем разбирать задачи. Но прежде, я хотел бы ещё привести 1 полезную штуку, правда не из FSO. Хотел бы её заранее объяснить, чтобы не возникло вопросов.
Path = objTree.Self.Path
Name = objTree.Self.name
Работа конструкции такова: Создаётся копия объекта в переменную oShell. Далее при помощи метода BrowseFolFolder вызывается окно поиска папки. Первое значение 0 должно быть нулём, далее идёт текст. Далее метод, по которому будет выполнятся отображение, и путь, от которого будет идти поиск. Выше этого пути выйти будет нельзя.
Приведём список методов отображения:
Путь может быть задан и численно. Вот список возможных значений:
DESKTOP = 0
PROGRAMS = 2
DRIVES = 17
NETWORK = 18
NETHOOD = 19
PROGRAMFILES = 38
PROGRAMFILESx86 = 48
WINDOWS = 36
Итак, теперь задачи.
ЗАДАЧА 1 : Компьютер на любом из существующем локальном диске компьютера ищет произвольную папку и выстраивает произвольной длинны папку. После чего, выдаёт всю информацию по данной папке.
Код довольно большой, поэтому разобьём его на несколько блоков:
Итак, создаём объект FSO, запускаем генератор случайных чисел. Далее расписываем функции(далее на каждой остановимся). Нам нужно сделать 3 разные вещи: Выбрать локальный диск компьютера(первая функция, строки 5-14), Раскрыть каталог и выбрать там ещё каталог(вторая функция, 16-32) и Вывести информацию по каталогу(третья функция, 34-42). Прежде чем мы вернёмся к основному коду давайте рассмотрим работу функций и поймём, как они устроены у нас.
Итак, выбор локального диска на компьютере:
Теперь, вернёмся к основному коду:
Ну и в самом конце мы выводим получившийся путь Path и выводим значение функции FoldInf по полученному пути Path.
Читайте также: