2015-06-11 3 views
0

Я пытаюсь создать базовый эмулятор команды запуска с помощью VBScript или .bat, если это будет проще.
У меня не было формального образования на этих языках, но я могу выполнять основные функции, глядя на форумы и веб-справку. Мне нужен этот код, чтобы иметь возможность запрашивать ввод пользователя для программы, которую они хотят открыть (функция входного окна), и фактически открыть программу.
На сервере, на котором я работаю, есть как Run, так и CMD, но не написанные скрипты.
Любая помощь будет оценена по достоинству.
~ JesterЭмуляция команды запуска?

+0

'WScript.Shell.Run' http://ss64.com/vb/run.html –

+0

s = InputBox ("Имя?") для ввода значения от пользователя – Zam

ответ

3

Это запускает CMD и фиксирует его выход.

Set Inp = WScript.Stdin 
Set Outp = Wscript.Stdout 
Set cmd = CreateObject("Wscript.Shell").Exec("cmd") 
cmd.stdin.writeline "dir" 
wscript.sleep 20000 
cmd.stdin.writeline "dir" 
cmd.stdin.writeline "exit" 
Do While Not cmd.stdout.AtEndOfStream 

    results = cmd.stdout.readall 
    If err.number <> 0 then Exit Do 
     wscript.echo results 
Loop 
'wscript.sleep 5000 

Это показывает, как сделать свою консольную программу. Большинство параметров меню ничего не делают.

Set Arg = WScript.Arguments 
set WshShell = createObject("Wscript.Shell") 
Set Inp = WScript.Stdin 
Set Outp = Wscript.Stdout 


Showmenu 

Sub ShowHelpMenu 
    outp.writeline " -----------------------------------------------------------------------------" 
    outp.writeblanklines(1) 
    outp.writeline " Menu" 
    outp.writeline " ----" 
    outp.writeblanklines(1) 
    outp.writeline " 1 Help    2 HTML Help   3 Version   4 History" 
    outp.writeblanklines(1) 
    outp.writeline " 5 Exit" 
    outp.writeblanklines(1) 
    outp.write "Filter>" 
End Sub 

'============================================= 
Sub ShowMenu 
    Do 
     ShowHelpMenu 
     Answ=Inp.read(1) 
Outp.write Answ 
'  Answ=Inp.readline 
     If Answ = "1" Then 
      ShowGeneralHelp "TEXT" 
     Elseif Answ = "2" Then 
      ShowGeneralHelp "HTML" 
     Elseif Answ = "3" Then 
      Version 
     Elseif Answ = "4" Then 
      History 
     Elseif Answ = "5" Then 
      Exit Do 
     End If 
    Loop 
End Sub 

'============================================= 
Sub History 
    On Error Resume Next 
    WshShell.Run """" & FilterPath & "FilterHistory.txt""" , 1, False 
    err.clear 
End Sub 

'============================================= 
Sub Version 
    outp.writeblanklines(1) 
    outp.writeline " Version" 
    outp.writeline " -------" 
    outp.writeblanklines(1) 
    outp.writeline " Filter Ver 0.6 - 2015 (Public Domain)" 
    outp.writeblanklines(1) 
    outp.writeline " by David Candy" 
    outp.writeblanklines(1) 
End Sub 

Это показывает базовую партию.

:start 
set /p CMDToExec=Enter Command 
%CMDToExec% 
Goto Start 
Смежные вопросы