Windows Script Host на базе VBScript (*.vbs) |
![]() |
Добавил(а) microsin |
Хороший хелп по теме есть в справке Visual Studio. 1. Вывод простого сообщения (появляется маленькое серое окошко с "Hello World!") и кнопкой "ОК": Wscript.Echo "Hello World!" То же самое на JScript (*.js): WScript.Echo("Hello World!"); 2. Запуск программы (на примере запуска калькулятора. Можно вместо calc указать имя bat-файла): Dim WshShell, oExec Вывод статуса (1) произойдёт после закрытия калькулятора. Можно также применить метод Run. Работа скрипта прерывается, пока не завершится вызванный процесс: Set WshShell = CreateObject("WScript.Shell") 3. Завершение работы скрипта (JScript), код возврата 1: WScript.Quit (1); 4. Задержка в 100 миллисекунд (VBScript): WScript.Sleep 100 5. Работа с реестром (VBScript): Set WshShell = CreateObject("WScript.Shell") 6. Цикл по всем файлам каталога (в данном примере корневой каталог C:\): Set FSO = CreateObject("Scripting.FileSystemObject") 7. Выход из цикла (выполнится WScript.Echo File.Name только для первого имени): Set FSO = CreateObject("Scripting.FileSystemObject") 8. Чтобы принудительно прервать работу скрипта (например, из предыдущего совета 5) запускаем taskmgr.exe, ищем процесс wscript.exe (CUI-версия скриптового интерпретатора) или сscript.exe (консольная версия скриптового интерпретатора) прибиваем. 9. Как получить параметры командной строки vbs-скрипта (как передавать параметры из командной строки скрипту): Dim argFirst, argSecond 10. Работа с датой и временем. 'запись в переменную date_now текущей даты Скрипт, который удаляет все файлы в каталоге, которые старше 1 месяца. Дата содержится в имени файла, например 070412-135124-servA-notconnect.txt, где первые 6 цифр кодируют 2007 год, 4 месяц, 12 день. Скрипт записан в файл remove_old.vbs, вызывать его можно так: CScript remove_old.vbs //Nologo >>logfile.txt Текст скрипта remove_old.vbs: Dim catalog catalog = "revision\" Function DD () date_now = Date Set FSO = CreateObject("Scripting.FileSystemObject") 11. Составление длинных путей с пробелами, используя chr(34). Dim archivator |