2015-06-11 88 views
0

我試圖創建一個基本的運行命令模擬器使用VBScript或.bat,如果這會更容易。
我對這些語言沒有正式的教育,但可以通過查看論壇和網站幫助來完成非常基本的功能。我需要這段代碼才能夠請求用戶輸入他們想要打開的程序(輸入框函數)並實際打開程序。
我工作的服務器有Run和CMD阻塞,但沒有寫入腳本。
任何幫助,將不勝感激。
〜傑斯特仿真運行命令?

+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