вызов файла bat с использованием asp classic - PullRequest
0 голосов
/ 07 февраля 2020

Может ли кто-нибудь помочь мне с этой проблемой, мне нужно вызвать / выполнить файл bat. ниже приведены мои коды для файла bat и asp classi c.

test.bat

    echo off
    start C:\inetpub\wwwroot\Texting\Notification.lnk

Этот test.bat запустит ярлык и вызовет приложение, которое обновит полученный файл.

образец. asp этот код предназначен для класса c asp

    <%

    dim fs,tfile,loc,locadd,loctime1,nameFile,wshell

    locadd = Month(Date)&Day(Date)&Year(Date)
    loctime1 =  stripNonNumeric(FormatDateTime(Now,3))
    nameFile = "\\85new\Accts85new\Texting\Reply\Karing\"
    loc = "\\85new\Accts85new\Texting\Reply\Karing\"&locadd&"_"&loctime1&".txt"
    set fs= Server.CreateObject("Scripting.FileSystemObject")
    set tfile=fs.CreateTextFile(loc)

    For Each Item in Request.QueryString
        tfile.Write Item &";"& Request.QueryString(Item)&"$&$"
    next

    tfile.close
    set tfile=nothing
    set fs=nothing

    Function stripNonNumeric(inputString)
        Set regEx = New RegExp
         regEx.Global = True
         regEx.Pattern = "\D"
         stripNonNumeric = regEx.Replace(inputString,"")
      End Function

    set wshell = CreateObject("WScript.Shell")
    wshell.Run "cmd.exe /c C:\inetpub\wwwroot\Texting\test1.bat"
    set wshell = nothing

    %>

, что образец. asp будет получить значение параметров из строки запроса.

Код работает, ошибки не появляется, когда я нажимаю ENTER в браузере.

Заранее спасибо!

1 Ответ

0 голосов
/ 25 марта 2020

Как правило, это должно быть сделано по-другому, но, если вы понимаете последствия безопасности вызова bat-файла из веб-приложения, вам нужно попытаться перенаправить вывод в файл , чтобы убедиться, что он выполняется и что выводится, то есть

wshell.Run "test1.bat>debug.txt" 

CreateObject ("WScript.Shell") выполняется в отдельном процессе, и вы не получите никакой ошибки в браузере, поэтому ваш файл bat должен выводить свой результат где-то.

...