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

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

Ответить
Настройки темы
CMD/BAT - [решено] Сообщение MsgBox

Ветеран


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


Конфигурация

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


Подскажите, как вывести сообщение MsgBox в несколько строчек?
Код: Выделить весь код
@echo off &chcp 1251 >nul
echo WScript.Quit(MsgBox(WScript.Arguments(0),vbYesNo+vbDefaultButton2,WScript.Arguments(1)))>"%temp%\MsgBox.vbs"
WScript "%temp%\MsgBox.vbs" "Для успешной работы скрипта необходимо закрыть Word" "Внимание!"
If %ERRORLEVEL% equ 6 (chcp 866 >nul &echo  Word закрыт.) else (
chcp 866 >nul &echo  Word не закрыт.)
del /q "%temp%\MsgBox.vbs"

pause>nul
п.с. Поправьте меня, если есть ошибки в написании скрипта

Отправлено: 11:24, 23-11-2011

 

Аватара для gora

Ушёл из жизни


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

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


Цитата sov44:
как вывести сообщение MsgBox в несколько строчек »
Так?
Код: Выделить весь код
@echo off &chcp 1251 >nul
echo WScript.Quit(MsgBox(WScript.Arguments(1) ^& Chr(13) ^& WScript.Arguments(2) ^& Chr(13) ^& WScript.Arguments(3), vbYesNo+vbDefaultButton2,WScript.Arguments(0)))>"%temp%\MsgBox.vbs"
WScript "%temp%\MsgBox.vbs" "Внимание!" "Для успешной работы скрипта необходимо закрыть Word" "Вторая строка" "Третья строка"
If %ERRORLEVEL% equ 6 (chcp 866 >nul &echo  Word закрыт.) else (
chcp 866 >nul &echo  Word не закрыт.)
del /q "%temp%\MsgBox.vbs"

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

Отправлено: 11:43, 23-11-2011 | #2



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

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


Ветеран


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

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


Я предпочитаю не «Chr(13)», а константу, причём родного стандарта — «vbCrLf».

Отправлено: 13:06, 23-11-2011 | #3


Ветеран


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

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


Тема по-сути решена, однако возникла ошибка при интеграции сообщения в скрипт. Не могу понять, где ошибка
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion
set iSumT=0
set "dr=%USERPROFILE%\Recent"& call :Calc "%dr%" lnk
set "dr=%USERPROFILE%\Application Data\Microsoft\Office\Последние файлы"& call :Calc "%dr%" lnk
set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.MSO"& call :Calc "%dr%" *
set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.Word"& call :Calc "%dr%" *

pause>nul

:Calc
for /f "delims=*" %%i in ('dir /b/a-d "%dr%\*.%2" 2^>nul') do (
set "bg=%%i"
if "!bg:~0,1!"=="~" (
         echo WScript.Quit(MsgBox(WScript.Arguments(1) ^& Chr(13) ^& WScript.Arguments(2) ^& Chr(13) ^& WScript.Arguments(3) ^& Chr(13) ^& WScript.Arguments(4), vbYesNo+vbDefaultButton1,WScript.Arguments(0)))>"%temp%\MsgBox.vbs"
         WScript "%temp%\MsgBox.vbs" "Внимание!" "     Для успешной работы скрипта" "необходимо закрыть документы Word" "" "            Документы закрыты?"
         If %ERRORLEVEL% equ 6 (Echo %%i &pause) else (Goto :Calc)
         del /q "%temp%\MsgBox.vbs"
         ) else (
for %%a in ("%dr%\!bg!") do (
set /a iSumT += %%~za
del /f/q %%a
)))

Отправлено: 14:28, 23-11-2011 | #4


Аватара для gora

Ушёл из жизни


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

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


sov44, поправил две строки, в остальном ковыряться не стал
Код: Выделить весь код
>"%temp%\MsgBox.vbs" echo WScript.Quit^(MsgBox^(WScript.Arguments^(1^) ^& vbCrLf ^& WScript.Arguments^(2^) ^& vbCrLf ^& vbCrLf ^& WScript.Arguments^(3^), vbYesNo+vbDefaultButton1,WScript.Arguments^(0^)^)^)
WScript "%temp%\MsgBox.vbs" "Внимание" "     Для успешной работы скрипта" "необходимо закрыть документы Word" "            Документы закрыты?"
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:38, 23-11-2011 | #5


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


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

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


Подскажите пожалуйста, как сделать чтобы выводилось сообщение, если например папка С:\1\ пуста, если нет - выполнялась след. команда?

Отправлено: 23:33, 24-11-2011 | #6


Ветеран


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

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


Подскажите, можно-ли установить координаты расположения окна msgbox на рабочем столе, как сделать автозакрытие окна.
Код: Выделить весь код
'MsgBox "text ", vbOKOnly + vbExclamation, "test"
Нужно для батника.

Отправлено: 07:13, 17-07-2014 | #7


Ветеран


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

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


Цитата sov44:
можно-ли установить координаты расположения окна msgbox на рабочем столе »
Нет. См. ниже другой вариант.

Цитата sov44:
как сделать автозакрытие окна. »
Смотрите, пробуйте, выбирайте:
Код: Выделить весь код
Option Explicit

InputBox "Скрипт-кодинг!", "Привет", "", 7500, 7500 ' in twips; as 500x500 px

With WScript.CreateObject("WScript.Shell")
	.Popup "Скрипт-кодинг!", 5, "Привет", , vbOKOnly + vbInformation
End With

' http://forum.script-coding.com/viewtopic.php?id=218
With WScript.CreateObject("Internet.HHCtrl")
	.TextPopup "Привет" & vbCrLf & "Скрипт-кодинг!", "Verdana,8", 6, 6, 6, 6
	WScript.Sleep 5000
End With

WScript.Quit 0
Цитата sov44:
Нужно для батника. »
«Nircmdc.exe trayballoon …»?!

Или:
Код: Выделить весь код
msg.exe 0 /time:5 "Привет, Скрипт-кодинг!"
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:49, 17-07-2014 | #8


Ветеран


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

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


Подскажите, как избавится от мелькания в панели быстрого запуска значка при запуске vbs
Код: Выделить весь код
wscript.createobject("wscript.shell").popup replace(wscript.arguments(0),"\n",vbCrLf), 6, wscript.arguments(1), vbokonly + vbinformation
батником
Код: Выделить весь код
@echo off
cscript //nologo "%~dp0msg.vbs" "текст 1 \n Текст 2" "шапка"

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


Ветеран


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

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


Цитата sov44:
в панели быстрого запуска »
Где?! Может быть, на панели задач?

Цитата sov44:
как избавится »
Метод .Popup() создаёт видимое окно, и пока оно будет отображаться — на панели задач будет окно приложения.

Отправлено: 02:42, 18-04-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSGBOX с отсчетом на кнопке по умолчанию Smokie_id11243755 AutoIt 10 17-01-2012 22:38
Изменить текст кнопки MSGBOX'a sashadeg AutoIt 13 20-11-2009 18:00
[решено] Абзац в MsgBox teverus AutoIt 5 13-08-2009 15:05
V. 5.5/2000/2003 - [решено] Сообщение еще не доставлено. Microsoft Exchange продолжит попытки доставить сообщение exo Microsoft Exchange Server 1 28-05-2009 23:23
Использование кнопок MsgBox'a sashadeg AutoIt 4 15-05-2009 19:29




 
Переход