Vraag : RedirectStandardOutput die al output niet krijgen

Hello, probeer ik om eenvoudig VB.net app te schrijven die eenvoudig dit doe:

1. Klik een knoop en het voert een FTPzitting uit gebruikend standaardVensters FTP
2. Vangt AL output
3. Schrijf het aan een tekst box.

op dit ogenblik, stelt het boete in werking, maar het vangt al output.

Here niet is de zitting van FTP manueel:
BEGIN
C:\PROGRA ~1 \ mydir>ftp - s: FTP.txt 123.123.123.123
Connected aan 123.123.123.123
220 Teken III de server van FTP (Versie 1.7 Tue brengt 14 10:10 in de war: 00 GMT 2000) ready.
User (123.123.123.123: (niets)): Wachtwoord
331 voor het programma geopende Gebruiker USER123

230, het bevelsuccessful.
150- Gegevens van de HAVEN proceed.
ftp> dir
200 open voor overdracht van dossier EF123657.
Type Name
dir send
dir receive
ftp: 54 die bytes in 0.00Seconds 54000.00Kbytes/sec.
ftp> CD /send
250 worden ontvangen „verzenden“ is huidige directory.
ftp> quit
221 Goodbye.
END

Now wanneer ik mijn app in werking stel, krijg ik dit:
BEGIN
Microsoft het Auteursrecht
(C) 1985-2001 Microsoft Corp.

C:\Program Files\mydir >ftp van Vensters XP [Versie 5.1.2600] - s: C:\PROGRA ~1 \ mydir \ FTP.txt 123.123.123.123
User (123.123.123.123: (niets)): Type Name

dir send

dir receive

dir
cd /send
quit

C:\Program Files\mydir >exit
END/>Please

" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
Imports System.IO

Openbare Klasse Form1

    Schemerige strResults als Koord = ""
    Schemerige intResult als Geheel
    Schemerige strook als Koord = „123.123.123.123“
    Schemerige strOutBox = „C:\PROGRA ~1 \ mydir“
    Schemerige strFtpArgs = „C:\PROGRA ~1 \ mydir \ FTP.txt“
    Afgevaardigde SubSetTextCallback (ByVal [tekst] als Koord)



    Privé Sub (ByVal afzender als System.Object, ByVal e als System.EventArgs) Handvatten Button1_Click Button1.Click

        Schemerige intFileCount als Geheel

        strResults = ""
        TextBox1.Text = ""


        'Controle om te zien of zijn er om het even wat aan proces
        intFileCount = System.IO.Directory.GetFiles (strOutBox). Lengte ()

        Als intFileCount <= 0 toen
            strResults = strResults & „Er zijn geen te verwerken dossiers.“ & vbCrLf
            TextBox1.Text = strResults
            Sub van de uitgang
        Anders
            Directory.SetCurrentDirectory (strOutBox)

            intResult = MsgBox („bent u zeker u wilt naar uitgaande dossiers verzenden? “, MsgBoxStyle.OkCancel)

            Als intResult <> 1 toen
                Sub van de uitgang
            Eind als
        Eind als



        Schemerige CMD als Nieuwe Threading.Thread (AddressOf GETCMD)
        CMD.Start ()
    Sub van het eind


    Privé SubGETCMD ()
        Schemerige CMDprocess als Nieuw Proces
        Schemerige StartInfo als Nieuwe System.Diagnostics.ProcessStartInfo


        StartInfo.FileName = „cmd“
        StartInfo.RedirectStandardInput = Waar
        StartInfo.RedirectStandardOutput = Waar
        StartInfo.UseShellExecute = Vals
        StartInfo.CreateNoWindow = Waar
        CMDprocess.StartInfo = StartInfo
        CMDprocess.Start ()

        Schemerig SR als System.IO.StreamReader = CMDprocess.StandardOutput
        Schemerige SW als System.IO.StreamWriter = CMDprocess.StandardInput

        SW.WriteLine („FTP - s: “ & strFtpArgs & „„& strook)
        SW.WriteLine („uitgang“)
        strResults = strResults & 'winst SR.ReadToEnd resultaten van het bevelvenster

        Me.SetText (strResults)
        SW.Close ()
        SR.Close ()




    Sub van het eind

    Privé SubSetText (ByVal [tekst] als Koord)

        Als Me.TextBox1.InvokeRequired toen
            Schemerige D als Nieuwe SetTextCallback (AddressOf SetText)
            Me.Invoke (D, Nieuw Voorwerp () {[tekst]})
        Anders
            Me.TextBox1.Text = [tekst]
        Eind als
    Sub van het eind

De Klasse van het eind

Antwoord : RedirectStandardOutput die al output niet krijgen

U „hebt“ geen vertrouwen nodig om ADMT te gebruiken nochtans kan het vertrouwen migratie een gemakkelijker maken zo wordt geadviseerd door de meesten om die reden.
Andere oplossingen  
 
programming4us programming4us