Как запустить файл с использованием VisualBasicScript (.vbs) - PullRequest
7 голосов
/ 05 июня 2009

Как мне запустить файл с VisualBasicScript (.vbs)?

Файл 'file.bat' находится в том же каталоге, что и .vbs.

Ответы [ 6 ]

18 голосов
/ 05 июня 2009

да, я хочу запустить его.

Тогда попробуйте это:

CreateObject("WScript.Shell").Run "file.bat"
0 голосов
/ 22 апреля 2019

еще проще Этот код работает для всех ОС, я пробовал его в Windows 10, и он работает так хорошо: Попробуйте сами :):

Function BrowseForFile()
  BrowseForFile = CreateObject("WScript.Shell").Exec( _
  "mshta.exe ""about:<input type=file id=f>" & _
  "<script>resizeTo(0,0);f.click();new ActiveXObject('Scripting.FileSystemObject')" & _
  ".GetStandardStream(1).WriteLine(f.value);close();</script>""" _
  ).StdOut.ReadLine()
End Function
0 голосов
/ 29 декабря 2016

Код косяка:

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

Код VBS:

set runFile (".\file.bat")
mode console
msgbox (runFile)
0 голосов
/ 05 июня 2009
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
0 голосов
/ 05 июня 2009

Использовать FileSystemObject

Использование для открытия файла:

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(".\File.bat", ForReading)
0 голосов
/ 05 июня 2009

См. Много примеров по technet Script Center Script Repository .

Простой пример: Выбор и проверка связи компьютеров с использованием текстового файла :

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...