Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - отображение работы

Ответить
Настройки темы
VBS/WSH/JS - отображение работы

Новый участник


Сообщения: 11
Благодарности: 1

Профиль | Отправить PM | Цитировать


Подскажите возможен ли вывод информации в vbs так же как bat?
bat я знаю, не сказать, чтобы очень хорошо, но на 4. С vbs знаком очень плохо, когда-то пробовал начать, но вот так и не начал. У меня уже есть готовый и работающий скрипт, который около 2-х лет работает без нареканий и я хочу его еще расширить, но возможности bat очень скудны. В добавок, на сколько я знаю, нет возможности скрыть исходный код, что немаловажно. Возможности vbs намного шире, в сравнении с bat и все катится к тому, чтобы реализовать этот же скрипт на vbs.

Мой скрипт на bat циклический, он бесконечно проверяет какие-либо события и я постоянно вижу его работу в виде echo. Скрипт постоянно трется в трее. Вот меня интересует вопрос, возможно ли видеть результат работы vbs так же как bat?

ну например ping 127.0.0.1 -t будет вечно висеть и в любой момент можно глянуть какой пинг. Примерно то же самое и у меня.

Отправлено: 20:11, 03-12-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата blacktor:
Подскажите возможен ли вывод информации в vbs так же как bat? »
На консоль — Вы имеете в виду? Да, возможен:
Код: Выделить весь код
cscript.exe //nologo "Путь\Имя.vbs"
Цитата blacktor:
В добавок, на сколько я знаю, нет возможности скрыть исходный код, что немаловажно. »
В WSH с этим примерно так же — есть возможность шифрования исходного кода, но вскрывается оно на ать-два первой же ссылкой из запроса в Google.

Цитата blacktor:
ну например ping 127.0.0.1 -t будет вечно висеть и в любой момент можно глянуть какой пинг. »
Возможно. Кроме того, подключением сторонних библиотек возможно создание своих форм, всплывающих подсказок и т.п.

P.S. Возможности же PowerShell дают уже полноценную работу с окнами непосредственно «искаропки». Но и порог вхождения у него едва ли не на порядок выше.

Последний раз редактировалось Iska, 04-12-2015 в 04:52. Причина: Исправлена опечатка

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 03-12-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 11
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
В WSH с этим примерно так же — есть возможность шифрования исходного кода, но вскрывается оно на ать-два первом же ссылкой из запроса в Google. »
вы имеете ввиду фокус с файлом во временной папке?

Отправлено: 22:15, 03-12-2015 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Нет. Я имею в виду: decrypt|decode Microsoft Script Encoder - Поиск в Google.

Отправлено: 04:52, 04-12-2015 | #4


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата blacktor:
...но возможности bat очень скудны.
Если гибриды, то как раз напротив. Код ниже генерирует болванки для гибридов (оригинальный пост), так что останется только приправить на свой вкус, используя предпочитаемую технологию (PowerShell, Python, Perl, Ruby, PHP, HTA, WSF, VBScript, JScript).
Код: Выделить весь код
@echo off
  setlocal enabledelayedexpansion
    set "i=0"
    for %%i in (%*) do set /a "i+=1"
    if "!i!" neq "1" goto:man
    
    for %%i in (cmd js hta php pl ps1 py rb vbs wsf) do (
      if "%1" equ "%%i" set "#=%%i"
    )
    if "!#!" equ "" goto:man
    
    set "i=0"
    for /f "tokens=1 delims=:" %%i in (
      'findstr /bn ":%1 :eof_%1" "%~f0"'
    ) do set "arr.!i!=%%i"&set /a "i+=1"
    set /a "arr.0=arr.0+1"
    set /a "arr.1=arr.1-1"
    
    >test.cmd (for /l %%i in (!arr.0!, 1, !arr.1!) do (
      for /f "tokens=1,* delims=][" %%j in (
        'find /n /v "" "%~f0" ^| findstr %%~i'
      ) do echo:%%k
    ))
  endlocal
exit /b
 
:man
for %%i in (
  "Usage: %~n0 [cmd][js][hta][php][pl][ps1][py][rb][vbs][wsf]"
  "   cmd - pure cmd template"
  "   js  - CMD\JScript template"
  "   hta - CMD\HTA template"
  "   php - CMD\PHP template"
  "   pl  - CMD\Perl template"
  "   ps1 - CMD\PowerShell template"
  "   py  - CMD\Python template"
  "   rb  - CMD\Ruby template"
  "   vbs - CMD\VBScript template"
  "   wsf - CMD\WSF template"
) do echo:%%~i
exit /b
 
:cmd
@echo off
  setlocal
  endlocal
exit /b
:eof_cmd
 
:js
0</* :
@cscript /nologo /e:jscript "%~f0" %*&exit /b */0;
(function() {
}());
:eof_js
 
:hta
<^!-- :
  @start mshta "%~f0"&exit /b
-->
<html>
  <head>
    <title></title>
    <meta name="author" content="" />
    <hta:application id=""
         applicationname=""
         border="thin"
         contextmenu="no"
         maximizebutton="no"
         minimizebutton="no"
         scroll="no"
         singleinstance="yes"
         sysmenu="yes"
         version="1.0" />
  </head>
  <body>
  </body>
</html>
:eof_hta
 
:php
0<?/* :
  @echo off
    for %%i in (php.exe) do if not exist "%%~$PATH:i" (
      echo:PHP has not been found.&exit /b
    )
    php "%~f0" %*
  exit /b
*/
echo "\r";
?>
:eof_php
 
:pl
@for %%i in (perl.exe) do @if exist "%%~$PATH:i" (perl -x "%~f0" %*&exit /b) else (exit /b)
#^!/usr/bin/perl
:eof_pl
 
:ps1
<# :
  @echo off
    for %%i in (powershell.exe) do if not exist "%%~$PATH:i" (
      echo:PowerShell has not been found.&exit /b
    )
    powershell /nop /ex bypass^
    "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
  exit /b
#>
:eof_ps1
 
:py
@for %%i in (python.exe) do @if exist "%%~$PATH:i" (python -x "%~f0" %*&exit /b) else (exit /b)
:eof_py
 
:rb
@for %%i in (ruby.exe) do @if exist "%%~$PATH:i" (ruby -x "%~f0" %*&exit /b) else (exit /b)
#^!/usr/bin/ruby
:eof_rb
 
:vbs
::'@cscript /nologo /e:vbscript "%~f0" %*&exit /b
:eof_vbs
 
:wsf
<?xml : version="1.0" encoding="utf-8"?> ^^<^!-- :
  @echo off
    cscript /nologo "%~f0?.wsf" /job:foo1 %*
  exit /b
-->
<package>
  <job id="foo1">
    <script language="JScript"><^![CDATA[
      WScript.echo('foo1 job');
    ]]></script>
  </job>
  <job id="foo2">
    <script language="VBScript"><^![CDATA[
      WScript.Echo "foo2 job"
    ]]></script>
  </job>
</package>
:eof_wsf
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:58, 04-12-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - отображение работы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Отображение таблицы TRAMPLE Программирование и базы данных 1 24-04-2014 17:22
[решено] Полная остановка работы ПК после загрузки ОС. Отказ совм.работы 2-х модулей памяти. Sticher78 Непонятные проблемы с Железом 4 22-12-2011 13:22
Запретить отображение GreyKoshak Microsoft Windows 2000/XP 7 09-12-2003 15:57
Отображение Flash Lin Вебмастеру 4 14-11-2003 01:55
Отображение данных. Prisoner Программирование и базы данных 5 11-07-2003 02:10




 
Переход