ASP.NET VBscript добавить строку cmd? - PullRequest
1 голос
/ 25 июля 2011

Есть этот скрипт загрузки, и он работает.Но я хотел бы добавить команду cmd после завершения загрузки.Это возможно?Заранее спасибо.

<%@ Page Language=VBScript %>

    <script runat="server">
        Protected Sub Button1_Click(ByVal sender As Object, _
          ByVal e As System.EventArgs)
            If FileUpload1.HasFile Then
                Try
                    FileUpload1.SaveAs("C:\Inetpub\wwwroot\upload\" & _
                       FileUpload1.FileName)
                    Label1.Text = "File name: " & _
                       FileUpload1.PostedFile.FileName & "<br>" & _
                       "File Size: " & _
                       FileUpload1.PostedFile.ContentLength & " kb<br>" & _
                       "Content type: " & _
                       FileUpload1.PostedFile.ContentType
                Catch ex As Exception
                    Label1.Text = "ERROR: " & ex.Message.ToString()
                End Try
            Else
                Label1.Text = "You have not specified a file."
            End If
        End Sub
    </script>

1 Ответ

1 голос
/ 25 июля 2011

Использовать ProcessStartInfo:

C #

public static int ExecuteCommand(string Command, int Timeout)
{
   int ExitCode;
   ProcessStartInfo ProcessInfo;
   Process Process;

   ProcessInfo = new ProcessStartInfo("cmd.exe", "/C " + Command);
   ProcessInfo.CreateNoWindow = true; 
   ProcessInfo.UseShellExecute = false;
   Process = Process.Start(ProcessInfo);
   Process.WaitForExit(Timeout);
   ExitCode = Process.ExitCode;
   Process.Close();

   return ExitCode;
}

VB:

Public Shared Function ExecuteCommand(Command As String, Timeout As Integer) As Integer
Dim ExitCode As Integer
Dim ProcessInfo As ProcessStartInfo
Dim Process As Process

ProcessInfo = New ProcessStartInfo("cmd.exe", "/C " + Command)
ProcessInfo.CreateNoWindow = True
ProcessInfo.UseShellExecute = False
Process = Process.Start(ProcessInfo)
Process.WaitForExit(Timeout)
ExitCode = Process.ExitCode
Process.Close()

Return ExitCode
End Function

Чтобы использовать его в вашем примере:

Поместите функцию за пределы вашей подпрограммы (как прямо над ней) и поместите следующую строку, где вы хотите, чтобы код выполнялся.

ExecuteCommand ("REN C: \ Document.rtf YES.rtf", 100)

Вы можете проверить возвращаемое значение (0 для успеха), чтобы увидеть, было ли оно успешным.

Чтобы обойтись без использования командной строки:

Измените свою сохраненную в файл строку следующим образом:

FileUpload1.SaveAs("C:\Inetpub\wwwroot\upload\" & _
                   "myFile.txt")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...