Вместо типа папка с файлами стали тип файл поддержки windows vbscript

Обновлено: 07.07.2024

Объектная модель 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 флешка или карта памяти после подключения к компьютеру отображается как ярлык? Ищете как восстановить данные и удалить вирус, преобразовывающий файлы и папки в ярлыки? Вы используете антивирус, но компьютер все равно был инфицирован? К сожалению не все антивирусы могут защитить вас такого заражения.

Как удалить вирус, создающий ярлыки файлов и папок на флешке, карте памяти или USB диске

Однако в отличие от вирусов шифровальщиков, этот тип вирусов достаточно безобидный и вы легко сможете восстановить данные и удалить сам вирус.

Разновидности вирусов ярлыков

На сегодня наиболее распространены 2 типа вирусов, создающих ярлыки: первые создают ярлыки вместо файлов и папок на флешке или карте памяти, другие создают ярлыки съемных дисков вместо самих флешек, внешних USB дисков и карт памяти.

Названия наиболее распространенных вирусов:

Вирус, преобразующий файлы и папки в ярлыки

Этот вирус дублирует ваши файлы и папки, затем прячет и заменяет их. Вирус представляет комбинацию вирусов трояна и червя. Опасность заключается в том, что вы запускаете вирус каждый раз, когда хотите открыть ваш файл или папку. После запуска вирус распространяет себя заражая все большее количество файлов и часто устанавливает дополнительно вредоносное ПО которое может украсть данные о паролях и кредитных картах, сохраненных у вас на компьютере.

Вирус, преобразующий флешки и карты памяти в ярлыки

Это чистокровный троянский вирус, который скрывает любые съемные устройства, подключенные к компьютеру и заменяет их ярлыками этих устройств. Каждый раз кликая по ярлыку вы снова запускаете вирус, который ищет на вашем компьютере финансовую информацию и отправляет ее мошенникам, создавшим вирус.

Что делать в случае заражения

К сожалению не все антивирусы могут вовремя обнаружить опасность и защитить вас от инфицирования. Поэтому наилучшей защитой будет не использовать автоматический запуск съемных устройств и не кликать по ярлыкам файлов, папок или дисков. Будьте внимательны и не кликайте по ярлыкам, которые вы не создавали сами. Вместо двойного клика для открытия диска, кликните по нему правой кнопкой мышки и выберите Развернуть в Проводнике.

Восстановление данных удаленных вирусом

Для надежного восстановления данных удаленных таким типом вирусов используйте Hetman Partition Recovery. Поскольку программа использует низкоуровневые функции по работе с диском, она обойдет вирусную блокировку и прочитает все ваши файлы.

Инструмент восстанавливает файлы с любых устройств, независимо от причины потери данных.

Загрузите и установите программу, затем проанализируйте зараженную флешку или карту памяти. Проведите восстановление информации до очистки носителя от вируса. Наиболее надежным вариантом лечения будет очистка флешки с помощью команды DiskPart, это удалит всю информацию на ней.

Удаление вируса с карты памяти или USB флешки

После восстановления данных с флешки вы можете её полностью очистить с помощью утилиты DiskPart. Удаление всех файлов и форматирование устройства может оставить вирус, который спрячется в загрузочном секторе, таблице разделов или на неразмеченной области диска. Как правильно очистить флешку смотрите в видео.

Удаление вируса с флешки с помощью командной строки

Данный способ не позволяет гарантированно очистить флешку от всех видов вирусов, но сможет удалить вирус, который создает ярлыки вместо файлов. Вам не нужно будет скачивать и устанавливать сторонние утилиты, удаление производится с помощью встроенного в любую версию Windows инструмента.

Кликните правой кнопкой мышки по меню Пуск и запустите командную строку от имени администратора.

Командная строка: attrib f:*.* /d /s -h -r –s

Введите команду f: и нажмите Enter (где f – это буква флешки зараженной вирусом).

Введите команду: attrib f:*.* /d /s -h -r –s и нажмите Enter:

  1. –h: показывает все скрытые файлы на флешке;
  2. –r: убирает параметр только для чтения;
  3. –s: убирает параметр системный со всех файлов.

Удаление вируса с компьютера

Наиболее простым и надежным способом очистки компьютера от вируса будет полная переустановка Windows с удалением системного раздела.

Но если вы являетесь опытным пользователем, вы можете опробовать следующий способ:

Отключите запуск вируса при старте Windows в реестре. Нажмите клавиши Win + R, в появившемся окне введите regedit и нажмите Enter. Перейдите к ключу HKEY_CURRENT_USER / Software / Microsoft / Windows / CurrentVersion / Run.

Редактор реестра. 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

Автор: 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:

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 : Компьютер на любом из существующем локальном диске компьютера ищет произвольную папку и выстраивает произвольной длинны папку. После чего, выдаёт всю информацию по данной папке.

Код довольно большой, поэтому разобьём его на несколько блоков:

Folder zadacha

Итак, создаём объект FSO, запускаем генератор случайных чисел. Далее расписываем функции(далее на каждой остановимся). Нам нужно сделать 3 разные вещи: Выбрать локальный диск компьютера(первая функция, строки 5-14), Раскрыть каталог и выбрать там ещё каталог(вторая функция, 16-32) и Вывести информацию по каталогу(третья функция, 34-42). Прежде чем мы вернёмся к основному коду давайте рассмотрим работу функций и поймём, как они устроены у нас.

Итак, выбор локального диска на компьютере:

Выбор папки

Теперь, вернёмся к основному коду:

Ну и в самом конце мы выводим получившийся путь Path и выводим значение функции FoldInf по полученному пути Path.

Читайте также: