Spuštění programu a výpis výsledku do text boxu   zodpovězená otázka

VB.NET

Zdravím,

prosím o nasměrování. Chci spustit externí program s aplikace ve VB. Například:

copy a.txt b.txt Ale consolový výstup z programu copy.exe přesměrovat do textboxu.

Michal

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Použijte konvenci

 aplikace.exe arg1 arg2 > pozadovany_soubor.txt
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Příkaz v cmd spustíte takto:

    var startInfo = new ProcessStartInfo
    {
        FileName = "CMD.exe",
        //WorkingDirectory = "", 
        Arguments = "/C ping www.google.com > ping.txt"
    };
    Process.Start(startInfo);

Důležité je nechat v Arguments na začátku /C pak už můžete zadat libovolný příkaz. Operátor > přesměruje výstup z konzole do souboru. WorkingDirectory nemusíte v tomhle případě použít, ale často se hodí, jinak se cmd spustí ve složce vašeho projektu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
    Dim startInfo = New ProcessStartInfo()
    startInfo.FileName = "CMD.exe"
    startInfo.Arguments = "/C ping www.google.com > ping.txt"
    Process.Start(startInfo)
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Přes soubor my to přijde jako prasárna, použil bych RedirectStandardOutput:

Dim startInfo = New ProcessStartInfo()
startInfo.UseShellExecute = False
startInfo.FileName = "CMD.exe"
startInfo.Arguments = "/C ping www.google.com"
startInfo.RedirectStandardOutput = True

Dim proc = Process.Start(startInfo)
Dim output = proc.StandardOutput.ReadToEnd()
proc.WaitForExit()

TextBox1.Text = output
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Máte pravdu, pořádně jsem nečetl otázku a vycházel jsem z první odpovědi.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jeste bych doplnil nastaveni:

startInfo.CreateNoWindow = True

To zamezi otevreni okna s prikazovou radkou.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback