Как открыть файл vbs скриптом
Как открыть файл vbs скриптом
Выпуск #01
«Vbs, whs, js скрипты для администратора»
22 июля 2008
Как можно запустить скрипт?
Расмотрим процесс запуска самого простого скрипта (сценария). Для этого нужно на рабочем диске выделить место для хранения скриптов, пусть это будет диск c: и папка Script. Выполняются скрипты с помощью серверов сценариев, которые переводят команды текста в исполняемый код.
Интерпретаторы в Windows представлены двумя файлами: wscript.exe и cscript.exe. Оба позволяют работать с VBScript и JScript и применять все возможности административных скриптов. Отличия:
Отличия можно увидеть наглядно на примерах выполнения команды. Создадим самый простой скрипт.
Создаем файл vbs.
Вызовите проводник (чтобы открыть проводник, нажмите кнопку Пуск и выберите команды Программы, Стандартные и Проводник ), зайдите в пункт меню «Сервис\Свойства папки» и убедитесь, что у вас отключена галочка.
Выбираем диск c:, каталог Script и вставляем текстовый файл и переименувываем его в hello.vbs.
В сам файл внесем текст:
Данный скрипт выводит сообщение Hello!.
Рассмотрим варианты запуска этого скрипта.
1. Запуск скрипта с командной строки с помощью утилиты CScript.exe
Для запуска нашего скрипта с командной строки нужно вызвать консоль командной строки. В операционной системе выполните «Пуск\Выполнить. » и наберите cmd.exe. У вас вызовется консоль командной строки.
В консоле командной строки выполните команду CScript.exe c:\script\hello.vbs
Как видно из рисунка, наше сообщение вывелось в консоле.
В приложении 1 дан список ключей, для выполнения csript.exe. Допустим нам не хочется, чтобы выводился в командную строку логотип сервера сценариев, для этого надо запустить сценарий с командной CScript.exe c:\script\hello.vbs //Nologo.
2. Запуск скрипта с командной строки с помощью утилиты WScript.exe
Воспользуемся консолью, которую мы запустили для вызова скрипта с помощью утилиты CScript.exe. Вызовем скрипт с помощью утилиты WScript.exe набрав в окне консоли команду WScript.exe c:\Script\hello.vbs. Сообщение скрипта вывелось в виде всплывающего окошка.
3. Запуск скрипта используя команду»Пуск\Выполнить. «
при помощи утилиты WScript.exe
В операционной системе нажав «Пуск» и затем «Выполнить» выполним скрипт набрав ту же команду, что и в предыдущем примере: WScript.exe c:\Script\hello.vbs. Появится такое же окошко, что и в предыдущем примере.
4. Запуск скрипта с помощью файлового менеджера.
Выполнить скрипт можно с помощью любого файлового менеджера. Запустим Explover, выбирем диск c:, зайдем в папку Script и выполним файл hello.vbs нажав на нем двойной щелчок.
Приложения
Приложение 1
Запуск скриптов с помощью сервера скриптов для командной строки csript.exe
Для выполнения сценариев с помощью сервера сценариев для командной строки предусмотрен следующий синтаксис:
cscript [имя_сценария] [параметры_сервера] [аргументы_сценария]
Все параметры являются необязательными, однако нельзя задать аргументы сценария, не задав сценарий. При отсутствии аргументов сценария или самого сценария программа Cscript.exe выведет описание синтаксиса команды и предусмотренные ключи.
Ключи сервера сценариев для командной строки (см. таблицу).
Copyright 2008 Новопашин Владимир. Все права защищены.
Работа с файлами в VBScript
Создание файлов
Есть три способа создания пустого текстового файла (иногда называемого как «text stream»).
Первый способ — это использование метода CreateTextFile. В следующем примере показано, как создать текстовый файл, используя этот метод: Пример использования данного метода см. в разделе «3.7. Пример работы с объектом FileSystemObject».
Второй способ — это использование метода OpenTextFile объекта FileSystemObject с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод: Третий способ — это использование метода OpenAsTextStream с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод:
Добавление данных в файл
Для записи данных в текстовый файл используйте методы Write, WriteLine или WriteBlankLines объекта TextStream, в зависимости от задач, описанных в приведённой ниже таблице:
| Задача | Метод |
| Запись данных в текстовый файл без символа перехода на новую строку в конце | Write |
| Запись данных в текстовый файл с символом перехода на новую строку в конце | WriteLine |
| Запись одной или более пустых строк в открытый текстовый файл | WriteBlankLines |
Для закрытия текстового файла используйте метод Close объекта TextStream. Закрыть файл можно также методом Close объекта FileSystemObject. Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
ПРИМЕЧАНИЕ
Символ новой строки содержит символ или символы (зависит от операционной системы) для перевода курсора в начало новой строки (возврат каретки/перевод строки). Следует учитывать, что некоторые строки уже могут иметь в конце эти непечатаемые символы.
В следующем примере показано, как выполняется запись данных в открытый файл всеми тремя методами, затем файл закрывается:
Чтение файлов
Для чтения данных из файла используйте методы Read, ReadLine или ReadAll объекта TextStream. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:
| Задача | Метод |
| Чтение указанного количества символов из файла | Read |
| Чтение полной строки из файла (до символа конца строки, но не включая его) | ReadLine |
| Чтение всего содержимого файла | ReadAll |
Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
Если вы используете методы Read или ReadLine и хотите пропустить определённую часть данных, то используйте методы Scip или ScipLine. Полученный в результате работы этих методов текст может быть сохранён в строку, которую можно отобразить на экране в элементе управления, передать в качестве параметра в строковую функцию (например, в Left, Right или Mid), соединить с другой строкой и т.п.
В следующем примере показано, как открыть файл, записать в него данные, а затем прочитать их:
Перемещение, копирование и удаление файлов
Объектная модель FSO имеет для каждой из операций перемещения, копирования или удаления файлов по два метода. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:
| Задача | Метод |
| Перемещение файла | File.Move или FileSystemObject.MoveFile |
| Копирование файла | File.Copy или FileSystemObject.CopyFile |
| Удаление файла | File.Delete или FileSystemObject.DeleteFile |
Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
В следующем примере создаётся текстовый файл в корневом каталоге диска С, записывается в него некоторая информация. Затем файл перемещается в директорию с именем \tmp, копируется в директорию \temp, а затем удаляются копии из обеих директорий.
Для проверки работы этого примера создайте в корневом каталоге диска С директории tmp и temp.
7. Работа с окнами и приложениями
Запуск внешних приложений из скрипта VBScript, применение объекта WshShell, методы Run(), AppActivate(), SendKeys()
7.1 Возможности объекта Wscript.Shell
set WshShell = WScript.CreateObject(«WScript.Shell»)
Сам запуск производится при помощи метода Run :
WshShell . Run «Имя_приложения»
Обычно существует две ситуации, когда нам нужно запустить приложения из скрипта:
1) запускаем утилиты командной строки (например, из Resource Kit ) и нам нужно получить то, что они возвращают
2) запускаем графическое приложение и передаем туда нажатия клавиш
При запуске утилиты командной строки обратить внимание на следующие моменты:
o если нам нужно возвращать код ошибки, делаем это следующим образом:
sReturn = WshShell.Run(«ping » & «192.168.1.2», 1, TRUE)
WshShell.Run(«%COMSPEC% /K dir»)
o для того, чтобы не зависеть от наличия утилит на компьютере пользователя, есть смысл выложить используемые утилиты на сервер в сети и обращаться к ним по сетевому имени;
При запуске графического приложения обычно есть необходимость передать в него нажатия клавиш. Для этой цели используются методы AppActivate (передача фокуса окну приложения) и SendKeys (передать нажатия клавиш)
Метод AppActivate позволяет передать фокус приложению. Ему передается заголовок окна приложения:
Далее используем метод SendKeys :
Запуск одного скрипта из другого
Создание одного VBS-скрипта с помощью другого
Вопрос такой может ли Vbs скрипт создать другой Vbs скрипт
Копирование текста из одного скрипта в другой и разделение одного скрипта на два
Каким способом можно копировать текст из одного скрипта в другой и как создать новый из части.
Запуск одного скрипта из другого
Понимаю, что из названия темы мало, что понятно. Постараюсь объяснить на примере. Ситуация такая.
Запуск одного скрипта из другого
Всем привет! Возникла интересная проблема. Мой скрипт содержит цикл, в котором должен вызываться.
Решение
Вложения
![]() | ru_test_script.zip (1.6 Кб, 21 просмотров) |

Добрый день. Имеется php скрипт registratot.php и calculate.php. Как мне вызывать выполнение.
Запуск скрипта для анализа папки и запуска другого скрипта
Мне нужно написать скрипт, который каждую секунду (или 5 сек) сканировал определенную папку на.
Как из одного скрипта изменить переменную (int) другого скрипта?
У меня есть два скрипта (money который отвечает за общее количество денег и CarBuy который отвечает.
Полезные VBS скрипты и программы по работе с ними
В этой теме выкладываем скрипты, которые часто используются Вами
или на Ваш взгляд могут иметь большое практическое значение.
Также приветствуются скрипты высокой степени сложности, полезные с точки зрения
изучения принципа их работы.
******************* Перечень полезных скриптов: *******************
Отправка файла на FTP (Drag & Drop) и копирование ссылки в буфер обмена ссылка
Получение времени сервера ссылка
Полезные PowerShell скрипты
Здесь публикуются полезные с практической точки зрения сценарии PowerShell или те, что могут.
Полезные BAT/CMD скрипты
В этой теме выкладываем скрипты, которые часто используются Вами или на Ваш взгляд могут иметь.
VBS, метод POST, заполнение полей и иже с ними
С помощью скрипта лезу на сайт. Далее нужно заполнить поля формы. Тут ступор — как обращаться к.
1) Внести в код имя своего FTP-сервера, имя пользователя и пароль, корневую директорию.
1) Сохранить код в файл «FTP and ClipBoard.VBS»
2) Перетащить на него любой файл.
Получаем отправку на FTP и в буфере обмена уже готовую ссылочку.
Есть баг: русские имена файлов отправляются нормально, но ссылку получаем нерабочую.
Пока не знаю как исправить. Если есть идеи, прошу в тему.
Вложения
![]() | FTP and ClipBoard.zip (1.3 Кб, 547 просмотров) |
VRENN.vbs: Переименование файлов с использование регулярных выражений.
Основные способы применения:
vrenn pattern
— вывод списка
vrenn [mask|@list] pattern /C:folder [options]
— копирование в папку
vrenn [mask|@list] pattern /M:folder [options]
— пемещение в папку
vrenn [mask|@list] pattern replace [/P:text] [/S:text]
— переименование
vrenn [mask|@list] pattern /P:text /S:text
— только добавление текста
Вложения
![]() | vrenn.4.00.zip (5.9 Кб, 458 просмотров) |
Получение ErrorLevel из команды CMD в переменную VBS-скрипта
(на примере команды сравнения файлов)
Добавлено через 18 часов 41 минуту
И да, последняя функция (Circle) несколько ошибочна. Скрипт работает, но в теории может все-таки вызвать баги. Надо так:
Добавлено через 1 минуту
Очистка пароля заданной учётной записи пользователя домена.
Добавлено через 1 минуту
Управление настройками пароля для всех членов заданной группы пользователей домена.
Добавлено через 1 минуту
Определение даты последней регистрации сеанса пользователя в многоконтроллерном домене.
Добавлено через 3 минуты
Поиск учётных записей пользователей домена, имеющих ограничения в списке станций, на которые им разрешён интерактивный вход.
Добавлено через 1 минуту
Получение списка всех контроллеров домена с указанием формального уровня их иерархии (основной|дополнительный), наличием роли глобального каталога и распределением FSMO между ними.
Добавлено через 1 час 22 минуты
Сопоставление логических томов, назначенных НЖМД и съёмным накопителям, с физическими устройствами.
Алгоритм работы сценария таков:
1. Выбор из списка логических дисков компьютера тех томов, которые размещены на НЖМД и съёмных накопителях (кроме внешних НГМД и НОД).
То есть из всех экземпляров класса Win32_LogicalDisk выбираются те экземпляры, значение свойства DriveType для которых равно 2 (Removable Disk) или 3 (Local Disk).
Добавлено через 3 минуты
Сценарий для показа членам заданной группы пользователей домена текста какого-либо уведомления (например, поздравления по случаю праздника).
Для целей переименовавания музыкальных файлов для воспроизведения в случайном порядке.
Данный скрипт переименовывает все файлы в выбранной папке, присоединяя слева к старому имени файла случайный порядковый номер. Если у файла в имени был слева номер, то старый номер удаляется.
Папка выбирается через файловый диалог Word.
Добавлено через 2 часа 32 минуты
Определение типа сеанса (интерактивный/удалённый) текущего пользователя на текущем узле и внесение данных об интерактивном сеансе в заданном регистрационном каталоге.
Будет полезно для быстрого детекта bitcoin-майнеров или других «непослушных» процессов.
Дельта времени KernelModeTime + UserModeTime процесса
/
Дельта времени KernelModeTime + UserModeTime системы в целом
* 100
Информация берется из объекта WMI (Win32_Process, Win32_Service)
Если произошла ошибка, вышлите мне ее скриншот.
Если логи не появились, нажмите левой клавишей мыши по заголовку папки и затем клавишу F5.
v.1.1.
Добавлен Parent Process Path.
v.1.2.
Сортировка по % CPU в убывающем порядке
Первым столбцом теперь идет % CPU
Убрал отчет о CPU Time
Вывод ошибки, если отчет заблокирован другой программой
Вложения
![]() | GetCPUUsage.zip (2.9 Кб, 311 просмотров) |
Батник для регистрации DynamicWrapperX 2.0 (x32, x64) и вызова функций из 32/64-битных библиотек.
В комплект уже включена DynamicWrapperX ver.2.0.0.1,
а также демо-VBS, показывающий как свернуть и развернуть «Калькулятор Windows» с помощью API-функций.
Скрипт сам запрашивает права Администратора, если понадобится.
Если Вы хотите вызывать функции из своей 32-битной библиотеки (независимо от битности ОС), раскомментируйте участок кода FindWindow.vbs в строках №№ 16-24.
Если появится новая версия библиотеки DynamicWrapperX, ее папки «32» и «64» нужно скопировать в папку «dynwrapx», заменив оригинал.
О библиотеке DynamicWrapperX
Автор: Юрий Попов (YMP).
Условия распространения библиотеки: freeware.
