2009-06-05 93 views
7

如何使用VisualBasicScript(.vbs)運行文件?如何使用VisualBasicScript運行文件(.vbs)

該文件是'file.bat',它位於與.vbs相同的目錄中。

+0

@YourComputerHelpZ - 你是一個讓很多偉大的答案。也許你應該解釋你的目標是什麼。打開'file.bat'然後做什麼?在消息框中顯示其內容,編輯一些文本,運行批處理文件等? – ichiban 2009-06-05 15:26:25

+2

通過說「開放」,你的意思是「啓動」/「執行」? – Helen 2009-06-05 15:40:25

+0

是的,我想運行它。 – 2009-06-05 15:41:01

回答

18

是的,我想運行它。

那就試試這個:

CreateObject("WScript.Shell").Run "file.bat" 
0

查看technet上的許多示例Script Center Script Repository

一個簡單的例子是Select and Ping Computers Using a Text File

On Error Resume Next 

Const ForReading = 1 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = objFSO.OpenTextFile("c:\scripts\servers.txt", ForReading) 

strComputers = objTextFile.ReadAll 
objTextFile.Close 

arrComputers = Split(strComputers, vbCrLf) 
Set objShell = CreateObject("WScript.Shell") 

For Each strComputer In arrComputers 

    strCommand = "%comspec% /c ping -n 3 -w 1000 " & strComputer 
    Set objExecObject = objShell.Exec(strCommand) 
    strText = objExecObject.StdOut.ReadAll 
    If Instr(strText, "Reply") > 0 Then 

    ' ===================================================================== 
    ' Insert your code here 
    ' ===================================================================== 

     Set objWMIService = GetObject _ 
      ("winmgmts:\\" & strComputer & "\root\cimv2") 
     Set colItems = objWMIService.ExecQuery _ 
      ("Select * From Win32_OperatingSystem") 
     For Each objItem In ColItems 
      Wscript.Echo strComputer & ": " & objItem.Caption 
     Next 


    Else 
     Wscript.Echo strComputer & " could not be reached." 
    End If 

Next 
+0

嗯..不能真正找到我要找的東西。 – 2009-06-05 15:12:21

+0

我需要打開批次 – 2009-06-05 15:18:11

+0

第一個答案是最好的 – RookieTEC9 2015-08-11 15:49:35

0

使用FileSystemObject

使用打開文件:

Const ForReading = 1 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile(".\File.bat", ForReading) 
0
function getFileInfo(filePath) 
    dim fso, fileObj, outMsg 
    set fso = createobject("Scripting.FileSystemObject") 
    set fileObj = fso.getfile(filePath) 
    outMsg = "" 
    outMsg = outMsg & " Created: " & fileObj.DateCreated & vbcrlf 
    outMsg = outMsg & " Last Accessed: " & fileObj.DateLastAccessed & vbcrlf 
    outMsg = outMsg & " Last Modified: " & fileObj.DateLastModified & vbcrlf 
    outMsg = outMsg & " File Type: " & fileObj.Type & vbcrlf 
    if fileObj.attributes and 0 then 
     outMsg = outMsg & " File Attributes: Normal File" 
    else 
     outMsg = outMsg & " File Attributes: " 
     if fileObj.attributes and 1 then 
      outMsg = outMsg & "Read Only " 
     end if 
     if fileObj.attributes and 2 then 
      outMsg= outMsg & "Hidden " 
     end if 
     if fileObj.attributes and 4 then 
      outMsg= outMsg & "System " 
     end if 
     if fileObj.attributes and 8 then 
      outMsg= outMsg & "Volume " 
     end if 
     if fileObj.attributes and 16 then 
      outMsg= outMsg & "Directory " 
     end if 
     if fileObj.attributes and 32 then 
      outMsg= outMsg & "Archive " 
     end if 
     if fileObj.attributes and 1024 then 
      outMsg= outMsg & "Link " 
     end if 
     if fileObj.attributes and 2048 then 
      outMsg= outMsg & "Compressed " 
     end if 
    end if 
    set fileObj = nothing 
    set fso = nothing 
    getFileInfo = outMsg 
end function 
-3

門套代碼:

jamb(run) "%PWD%\File.bat" & display box(small) with $OUTPUT 

VBS代碼:

set runFile (".\file.bat") 
mode console 
msgbox (runFile)