как проверить vbs скрипт
Проверка синтаксиса VBScript
любые хорошие утилиты для проверки синтаксиса VBScript без фактического запуска сценария?
Я имею в виду, если я сделаю что-то вроде:
есть ли инструмент, который скажет мне, что «& & «действительно должно быть» и «и»==», просто»=»?
5 ответов
на самом деле, я думаю, есть способ. Элемент управления Script включает метод Execute, аналогичный методу Eval HTML VBScript. Вы можете дать ему строку, и она будет проверять синтаксис.
в этой старой статье MSDN описывается, как добавить сценарии к вашему Приложения. http://msdn.microsoft.com/en-us/magazine/cc302278.aspx
что-то вроде этого.. (не уверен в экземпляре)
Это не будет захватывать неопределенные переменные (например, «тип» выше), но это простой и быстрый способ проверить, что у вас есть правильный синтаксис.
Visual Studio (2005 наверняка) сделает подсветку синтаксиса и даст вам IntelliSense для зарегистрированных DLL, что очень близко к проверенному синтаксису.
кроме этого, это интерпретируемый язык, поэтому вы можете сделать только так много. Даже лучший сценарий гарантирует только состояние «он работает на моей машине».
Я не думаю, что какой-либо конвертер доступен, к сожалению, но, учитывая, что синтаксис vbscript довольно прост, вы, вероятно, можете конвертировать его довольно легко
Я ищу то же самое. Если вы работаете с vbscript в контексте asp, есть что-то под названиемhttp://aspclassiccompiler.codeplex.com/ который, по-видимому, компилирует ваш классический asp в asp.net.
поскольку я считаю, что это дает какие-то ошибки времени компиляции, я думаю, что синтаксические ошибки будут сообщаться во время компиляции. Хотя еще не пробовал.
как проверить скрипт vbs в windows работает или нет?
Я создал сценарий VBS в Windows. Я запущу этот скрипт, чтобы получить размер файла.
Я сделал это, чтобы убегать. (даже это мое требование).
Как я должен знать, работает ли он или остановлен?
Я ясно в моих вопросах?
4 ответов
Как насчет использования свойства commandline? Я думаю, что это нужно Windows XP и выше.
@nimizen ответ неверен. Если у вас запущен другой wscript, он вернет, что ваш скрипт уже запущен.
@h pic ответ правильный, но я получаю ошибку с массивом «a» в моих окнах. Поэтому я немного изменил его и убрал, чтобы работать.
Хм, Ну, во-первых, если его сценарий бесконечного цикла, то вы, вероятно, используете его для периодической проверки папки для выполнения некоторой работы. Это звучит плохо, но обычно менее ресурсоемко, чем подключение к WMI для уведомлений. Если он работает, он работает. Реальная проблема заключается в его отличии от всех других сценариев WScript и CScripts, которые у вас могут быть запущены.
MS Sysinternals Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653 хорошо говорит вам информацию о ваших запущенных процессах. В основном я бы использовал его, чтобы сказать уникальными аргументами командной строки, какой процесс скрипта хостит какой скрипт.
нет простого способа точно найти идентификатор процесса вашего скрипта из сценария. Это один из немногих фрагментов информации о времени выполнения, не представленных в объектной модели среды скрипта. Поскольку вы уже используете объект файловой системы, возможно, вы могли бы найти фиктивное имя файла для использования в качестве индикатор того, что он работает. Если скрипту не удалось создать или открыть файл, можно предположить, что уже запущен другой экземпляр скрипта.
или иметь другой уникальный именованный фиктивный файл, который вы можете легко создать, и ваш скрипт автоматически удаляется во время его обработки. Таким образом, вы просто создаете пустой файл с этим именем в качестве теста, и если он не исчезнет через несколько секунд, вы не знаете, что экземпляры вашего скрипта запущены.
также я был думая, что вы можете запустить свой скрипт из другого скрипта с помощью Exec (), который возвращает ProcessID запущенного скрипта, а затем освобождает вашу ссылку на него, сохраняя ProcessID везде, где вам это нужно для последующего использования.
тогда я заметил эту публикацию
который использует Exec() для запуска сценария HTA, получает его ProcessID и ищет его в WMI, а затем использует результирующий набор из WMI для поиска ProcessID родительского процесса, который должен быть скриптом, выполняющим вызовы Exec () и WMI. Проблема в том, что HTA может завершиться до того, как WMI получит шанс найти его.
в основном у меня такое чувство, что это все излишне по какой-то причине вы думаете, что вам нужно знать, работает ли сценарий. Вместо этого сосредоточьтесь на том, какое действие «знание, запущен ли процесс или нет» заставляет вас предпринять. Так что не было объяснено, мы действительно не можем предложить вам альтернативную стратегию вам там, но я уверен, что более простое решение. TheFolderSpy http://venussoftcorporation.blogspot.com/2010/05/thefolderspy.html например, был бы один альтернативный способ запустить вашу программу без бесконечного цикла.
Не забудьте использовать команду сна в цикле, чтобы другие программы могли работать. Это имеет большое значение в использовании ресурсов. Также вам нужен только один экземпляр FSO, сделайте его глобальным для всего вашего кода, создав его на ранней стадии сценарий перед любыми подпрограммами.
поскольку вы смотрите на размер файла, вы, вероятно, проверяете его на наличие изменений. Я обнаружил, что цикл с небольшим WScript.Sleep 200 задержка в нем хорошо, чтобы обнаружить, если файл делается изменяется. Таким образом, вы можете обрабатывать файл вместо того, чтобы пропускать его до следующего основного цикла, который должен быть установлен в 10 секунд или более.
адаптироваться в соответствии с исходным вопросом. просто используйте блок, который проверяет текущие запущенные процессы, если любое из имен файлов wscript равно файлу сценария, который вы ищете, затем он запускается.
Table of Contents:
Подтвердить существование файла легко с VBScript.credit: Ablestock.com/AbleStock.com/Getty Images
Шаг 1
Откройте Блокнот. Откройте меню «Пуск» Windows и введите «блокнот» в поле поиска. Выберите Блокнот из результатов поиска.
Шаг 2
Создайте новый файл в блокноте. Введите несколько случайных букв в файл и сохраните его как «C: Temp test.txt». Этот файл будет использоваться для демонстрации кода VBScript.
Шаг 3
Шаг 4
Скопируйте и вставьте следующий код в документ «Блокнот»:
‘Установить размерность DIM FSO
‘Set Object Set fso = CreateObject («Scripting.FileSystemObject»)
‘Create Condition If (fso.FileExists («C: Temp test.txt»)) Then «Предупреждение пользователя WScript.Echo (» Файл существует! «) WScript.Quit () Остальное» Предупреждение пользователя WScript.Echo («Файл не существует! «) End If
Выходной скрипт WScript.Quit ()
Шаг 5
Сохраните только что созданный файл VBScript и выйдите из Блокнота.
Шаг 6
Перейдите в папку, содержащую ваш файл VBScript, и дважды щелкните «FileCheck.vbs». Должно появиться окно сообщения, подтверждающее: «Файл существует!» Нажмите «ОК», чтобы закрыть окно сообщения.
Шаг 7
Переименуйте или удалите файл «C: Temp test.txt», созданный на шаге 1; затем дважды щелкните скрипт «FileCheck.vbs» еще раз. На этот раз указанный файл не существует, и вы увидите сообщение «Файл не существует!» Оператор If-Then-Else в вашем коде VBScript выполняет проверку и предупреждает вас о результатах. Нажмите «ОК», чтобы закрыть окно сообщения.
Посоветуйте среду для отладки скриптов VBS и не только их
Всем привет.
Подскажите, посоветуйте IDE/среду для отладки скриптов VBS (и их написания).
Устал уже искать строки под номером ХХ вставлять WScript.Echo и проверять значения переменных.
Система Windows 7, 64 bit.
Важный момент, что бы возможно было бы перехватывать/переводить выполнение скрипта сразу в отладчике по шагам.
Например, запускаю я скрипт из bat файла через командную строку и передаю в скрипт некоторые параметры (WshArguments.count > 0), то мне хотелось видеть его пошаговое выполнение (с полученными параметрами) в отладчике.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Посоветуйте программу для написания, просмотра и отладки lua скриптов
Посоветуйте пожалуйста программу для написания, просмотра и отладки lua скриптов. Мне конечно.
Подскажите среду для удобной отладки программ на Haskell
Работая с C++ хоть в Visual Studio хоть в Eclipse я не могу себе представить написание кода без.
Подскажите удобную и простую среду для проектирования и отладки алгоритмов
Гугль выдал «Automation Studio», MatLab и Simulink. Но может есть что-то попроще и одновременно.
FlasherX, а вы как сами производите отладку скриптов VBS? Можете поделится секретом/лайфхаком?
Что бы можно было наблюдать текущие значения переменных и пр.
Добавлено через 4 минуты
А секрета в моём случае никакого нет. Простая работа c объектом Err (1, 2, 3).
Поблочное выполнение не представляю.
FlasherX, а PrimalScript какой версии пользуетесь? Можете глянуть?
Еще, важно что бы в IDE хорошая навигация по свойствам методам была. Имею ввиду автоподстановка вводимого метода, навигация по имеющимся методам у объекта и пр. Справка по всем методам. В какой IDE самая удобная на ваш взгляд?
oleggy, зачем ориентироваться на меня по версиям? Логично, что более новая версия улучшена и отлажена.
IntelliSence есть во всех перечисленных. Это же не простые текстовые редакторы. Для меня в этом плане удобней та, что на постоянке, поэтому первой и указал, т.к. сие — ключевой момент. Ей, конечно, далеко до VSCode + node.js/etc, но всё же там есть свои удобства (End-ы, CreateObject( + BS, свойства, методы, параметры/значения с подсказками, автооступы). Если бы не забросили и отладили баги, то была бы вообще конфеткой, правда платной. Но и глюки у неё случаются, иногда приходится резервить файлы из Temp-a после псевдокрахов.
bidstrup, а Excel продаётся отдельно? Не знал. )) А выходить — как все 30 лет выходили, так и сейчас.
P.S.: И вообще отлаживать vbs и vba, который, к слову, не только в Excel, это отнюдь не от одно и то же.
Никто 200+ тугриков платить (и не только среди нищебродов, ибо на одном мелкомягком офисе свет клином не сошёлся, десятки и сотни платных программ — это уже 20К+ тугриков, не говоря уже про месячные/годовые подписки) не будет, если не захочет. 30 лет большинство наших варезом как пользовались, так и будут в режиме «тишины» пользоваться. Чему тут удивляться?
Поиск запущенного процесса и его завершение
Доброго всем времени суток.
Пока что моих знаний хватило только на это.
Добавлено через 1 час 45 минут
Немного покопавшись на просторах нашел еще 1 способ:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Завершение запущенного процесса по Process ID после прерывания основного
Вопрос такой, требуется: 1) Запустить процесс в скрытом\свёрнутом окне 2) Завершить его после.
Циклическая проверка наличия запущенного процесса и его закрытие в случае обнаружения
Напишите пожалуйста батник который при запуске начинает бесконечно примерно каждые 5 мин. проверять.
Проверка наличия запущенного процесса cmd.exe по имени его окна
Очень нужна ваша помощь! Суть: необходимо в БАТнике провести проверку на предмет запущенного.
Как отследить завершение запущенного процесса
Здравствуйте. Подскажите как отследить завершение процесса p? System.Diagnostics.Process p = new.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Завершение процесса, запущенного с правами Администратора
Еще раз всех приветствую! Есть сервер с терминальными сессиями. Есть некий процесс который.
Поиск адреса в памяти запущенного процесса
Здравствуйте, всем доброго здравия и времени суток! У меня есть вот такая тема, пишу программу.
Поиск запущенного процесса Visual Studio C++
Добрый день форум!)хех Мне нужно что-бы при запуске консольного приложения писалось например что.
Завершение процесса по его Id
Такая задачка помогите, вот прогу пишу, нужно чтобы выводила процессы и завершала. Сделал чтобы.