Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] код vbs в bat

Ответить
Настройки темы
CMD/BAT - [решено] код vbs в bat

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


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

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


Необходимо вставить vbs код в bat файл
например:
Вместо
Код: Выделить весь код
cscript 123.vbs
нужно вызвать участок кода
Как-то так:
Код: Выделить весь код
 cscript :call

 :call
 Код vbs

Отправлено: 17:15, 09-04-2017

 

Ветеран


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

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


Вместо прямого и незатейливого в лоб «необходимо» озвучьте Вашу задачу, поясните — почему необходимо, и почему необходимо именно так.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:48, 09-04-2017 | #2



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

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


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


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

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


Iska, Пытаюсь конвертировать в exe, но не как не хочет прикреплять скрипт vbs

Отправлено: 17:53, 09-04-2017 | #3


Ветеран


Contributor


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

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


Вариант??
Код: Выделить весь код
@Echo Off
chcp 1251 >nul

Set "VBS=%TMP%\%~nx0.vbs"

Call :DoVBS
GoTo :Eof

:DoVBS
Del "%VBS%" 2>nul

>>"%VBS%" Echo Set WshS = CreateObject("WScript.Shell")
>>"%VBS%" Echo Randomize
>>"%VBS%" Echo Answ = ""
>>"%VBS%" Echo Do While 2 ^<^> WshS.Popup("Угадайте сгенерированное число от 1 до 100", 0, "Будем играться?", 33)
>>"%VBS%" Echo     Quest = Int((100 * Rnd) + 1)    ' Generate random value between 1 and 100.
>>"%VBS%" Echo     Do
>>"%VBS%" Echo         Answ = InputBox("Введите число от 1 до 100", "Угадываем задуманное число")
>>"%VBS%" Echo         If Answ = "" Then Exit Do
>>"%VBS%" Echo         Answ = CInt(Answ)
>>"%VBS%" Echo         Diff = Abs(Answ - Quest)
>>"%VBS%" Echo         If Diff = 0 Then
>>"%VBS%" Echo             MsgBox CStr(Answ) + "   Угадали !"
>>"%VBS%" Echo             Exit Do
>>"%VBS%" Echo         End If
>>"%VBS%" Echo         If Diff ^> 30 Then MsgBox CStr(Answ) + "   Хооолодно!!"
>>"%VBS%" Echo         If 20 ^< Diff And Diff ^<= 30 Then MsgBox CStr(Answ) + "   Тепло !"
>>"%VBS%" Echo         If 10 ^< Diff And Diff ^<= 20 Then MsgBox CStr(Answ) + "   Горячо!"
>>"%VBS%" Echo         If 5 ^< Diff And Diff ^<= 10 Then MsgBox CStr(Answ) + "   Почти угадали!"
>>"%VBS%" Echo         If 1 ^<= Diff And Diff ^<= 5 Then MsgBox CStr(Answ) + "   Еще чуть-чуть !!!"
>>"%VBS%" Echo     Loop
>>"%VBS%" Echo     If Answ = "" Then Exit Do
>>"%VBS%" Echo Loop

WScript.exe "%VBS%" 2>nul
Del "%VBS%" 2>nul
GoTo :Eof

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 18:21, 09-04-2017 | #4


Ветеран


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

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


Цитата vngreez@vk:
Пытаюсь конвертировать в exe »
Кого, зачем… Я же просил: озвучьте задачу, а не выбранное Вами решение.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:38, 09-04-2017 | #5


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


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

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


Iska, Совместить скрипты в одном пакетном файле
megaloman, А есть способ без создания файла?

Отправлено: 21:23, 09-04-2017 | #6


Ветеран


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

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


vngreez@vk, есть способ — не использовать вообще пакетный файл.

Отправлено: 21:33, 09-04-2017 | #7


Старожил


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

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


[ATTACH]Файл 144880[/ATTACH]
Это можно сделать в jscript - но это "нехороший" стиль "программирования" - так в Microsoft писали 15-20 лет назад (может быть поэтому получилось то что получилось?

@set @_E=1; /*
@set @_E=
@echo OFF
cscript /E:jscript %~dpnx0
goto :EOF
*/
var objShell = new ActiveXObject("WScript.shell");;
objShell.Popup("test");
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:01, 11-04-2017 | #8


Ветеран


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

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


vngreez@vk,
я так понимаю вас, вероятно, однострочник интересует (на примере копипаста буфера обмена в файл с помощью js):
Код: Выделить весь код
@echo off
call :# "file.txt"
exit

:#
 mshta "javascript:var x=clipboardData.getData('text');if(x)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(x);close();">"%~1"
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:05, 11-04-2017 | #9


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


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

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


Спасибо всем за помощь! Решил использовать создание временного файла

Отправлено: 20:28, 12-04-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] код vbs в bat

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - передача переменных bat>vbs Imago_ Скриптовые языки администрирования Windows 2 23-06-2015 18:50
Любой язык - [решено] Передача значения из vbs в bat idlazarev_alex@vk Скриптовые языки администрирования Windows 1 09-02-2015 13:56
Любой язык - [решено] CMD/BAT+VBS завершение процессов dinis.grek Скриптовые языки администрирования Windows 6 14-07-2014 07:25
VBS/WSH/JS - Перенос содержимого BAT в VBS kolumb 8034 Скриптовые языки администрирования Windows 14 31-10-2013 15:26




 
Переход