Возможно ли всплывающее окно/предупреждение в пакетном файле?Показать всплывающее окно с консоли
Я читал об использовании скриптов vb, но это абсолютно необходимо?
http://ss64.com/vb/popup.html или http://ss64.com/vb/msgbox.html
Возможно ли всплывающее окно/предупреждение в пакетном файле?Показать всплывающее окно с консоли
Я читал об использовании скриптов vb, но это абсолютно необходимо?
http://ss64.com/vb/popup.html или http://ss64.com/vb/msgbox.html
Вы можете использовать гибридный сценарий Пакетная JScript, что в конечном счете это является Пакетной файл; например:
@if (@CodeSection == @Batch) @then
@echo off
CScript //nologo //E:JScript "%~F0" "Hi, there..."
goto :EOF
@end
WScript.CreateObject("WScript.Shell").Popup(WScript.Arguments(0));
Скопируйте предыдущий код в файл с расширением .bat и выполните его. Popup также может включать в себя кнопки выбора, и результат может быть получен из кода партии. Например:
@if (@CodeSection == @Batch) @then
@echo off
rem Define values for Popup buttons
set /A YesNoAndCancel=3, QuestionMark=32
set /A YesButton=6, NoButton=7, TimedOut=-1
rem Call Popup JScript method with a 7 second timeout.
set /A buttons=YesNoandCancel + QuestionMark
CScript //nologo //E:JScript "%~F0" "Do you feel alright?" "Answer please:" %buttons% 7
set btn=%errorlevel%
if %btn% equ %YesButton% (
echo Glad to hear you feel alright.
) else if %btn% equ %NoButton% (
echo Hope you're feeling better soon.
) else if %btn% equ %TimedOut% (
echo Is there anybody out there?
)
goto :EOF
@end
var arg = WScript.Arguments;
WScript.Quit(WScript.CreateObject("WScript.Shell").Popup(arg(1),arg(3),arg(0),arg(2)));
Для более подробной информации о методе всплывающих JScript см here.
VBScript не является необходимым. Вы можете использовать любой язык программирования (Powershell/Jscript/Any .NET language), за исключением партии.
это одна линия VBS скрипт делает окно сообщения
msgbox wscript.Arguments(0)
Для использования
"C:\Users\User\Desktop\MsgBox.vbs" "Hi there"
InputBox
Puts какой пользователь вошел в переменной %Filter_InputBox%
Тип set f
, чтобы увидеть результаты
Вам нужно положить собственные пути в
Чтобы использовать
batchfile.bat "Text", "Window Title" "Default text"
Помните, что вы должны call
пакетный файл, если вы хотите контролировать, чтобы вернуться к другой партии
call batchfile.bat "Text", "Window Title" "Default text"
VBS-файл
'Create a batchfile that filter.bat will run as last step to set the environmental variable %Filter_InputBox%.
Text=InputBox(Wscript.Arguments(0), Wscript.Arguments(1),Wscript.Arguments(2))
Set Fso = CreateObject("Scripting.FileSystemObject")
Set File = Fso.CreateTextFile("FilterExit.bat", True)
If err.number <> 0 then
Wscript.echo "Error: " & err.number & " " & err.description & " from " & err.source
err.clear
wscript.exit
End If
File.WriteLine "set Filter_InputBox=" & Text
File.close
Batch File
InputBox.vbs %*
If exist "FilterExit.bat" call "FilterExit.bat"
If exist "FilterExit.bat" del "FilterExit.bat"
Можете ли вы, наконец, решить, какой из них является лучшим для вас? Я не могу сопротивляться вашим частым изменениям! '' ;-). Как правило, я предлагаю вам подождать несколько дней по крайней мере (еще два дня в выходные), прежде чем выбрать лучший ответ. Затем выберите ответ, который внес наибольший вклад в решение проблемы _as вы отправили it_, а не любую другую связанную/подобную/новую проблему, которая могла бы быть представлена между тем ... – Aacini
aacini извините, если я вас беспокоил, вы оба оба ответа велики и помогли мне открывать новые вещи, я решил выбрать ваш ответ, прежде чем я увижу обновление безмятежности, которое предоставит больше информации, а затем я выбрал его ответ не только потому, что это дополнительные усилия, но и потому, что он новый, и я думаю, что новым пользователям нужна какая-то мотивация в этом чем вы, но мне нравятся оба ответа, и я надеюсь, что вы все равно сможете помочь мне в моих будущих вопросах – Meska