1

また、何らかの理由で昨日は機能していましたが、今日は機能していません。コードではなく、外部の問題だと思います。

いずれかの方法

    Dim virtualFolder As String = "~/Scripts/"
    Dim physicalFolder As String = Server.MapPath(virtualFolder)
    Dim unixLogin As String = (USERNAME & "@" & COMPUTERNAME & ":" & UNIXSCRIPTNAME)

    ' Send file to Unix server via pscp
    Dim Proc As New System.Diagnostics.Process
    Proc.StartInfo = New ProcessStartInfo("C:\Windows\System32\cmd.exe")
    'MsgBox("/C C:\pscp.exe -pw " & PASSWORD & " " & physicalFolder & "\" & UNIXSCRIPTNAME & " " & unixLogin)
    Proc.StartInfo.Arguments = "C:\pscp.exe -pw " & PASSWORD & " " & physicalFolder & "\" & UNIXSCRIPTNAME & " " & USERNAME & "@" & COMPUTERNAME & ":" & UNIXSCRIPTNAME
    Proc.StartInfo.RedirectStandardInput = True
    Proc.StartInfo.RedirectStandardOutput = False
    Proc.StartInfo.UseShellExecute = False
    'Proc.StartInfo.CreateNoWindow = True
    Proc.Start()
    ' Allows script to execute sequentially instead of simultaneously
    Proc.WaitForExit()

    ' Make file executable
    Proc.StartInfo = New ProcessStartInfo("C:\plink.exe")
    'MsgBox("-ssh -pw " & PASSWORD & " " & USERNAME & "@" & COMPUTERNAME & " chmod u+x ./" & UNIXSCRIPTNAME)
    Proc.StartInfo.Arguments = "-ssh -pw " & PASSWORD & " " & USERNAME & "@" & COMPUTERNAME & " chmod u+x ./" & UNIXSCRIPTNAME
    Proc.StartInfo.RedirectStandardInput = True
    Proc.StartInfo.RedirectStandardOutput = False
    Proc.StartInfo.UseShellExecute = False
    ' Proc.StartInfo.CreateNoWindow = True
    Proc.Start()
    Proc.WaitForExit()

    ' Execute File
    Proc.StartInfo = New ProcessStartInfo("C:\plink.exe")
    Proc.StartInfo.Arguments = "-ssh -pw " & PASSWORD & " " & USERNAME & "@" & COMPUTERNAME & " ./" & UNIXSCRIPTNAME
    Proc.StartInfo.RedirectStandardInput = True
    Proc.StartInfo.RedirectStandardOutput = False
    Proc.StartInfo.UseShellExecute = False
    'Proc.StartInfo.CreateNoWindow = True
    Proc.Start()
    Proc.WaitForExit()

    ' Remove File
    Proc.StartInfo = New ProcessStartInfo("C:\plink.exe")
    Proc.StartInfo.Arguments = "-ssh -pw " & PASSWORD & " " & USERNAME & "@" & COMPUTERNAME & " rm ./" & UNIXSCRIPTNAME
    Proc.StartInfo.RedirectStandardInput = True
    Proc.StartInfo.RedirectStandardOutput = False
    Proc.StartInfo.UseShellExecute = False
    'Proc.StartInfo.CreateNoWindow = True
    Proc.Start()
    Proc.WaitForExit()

これは短縮できますか?私は... 1) ファイルを UNIX システムに送信する 2) 実行可能にする 3) ファイルを実行する (スクリプト) 4) 後で削除する

4

1 に答える 1