Administrator Batch Datei auslesen?

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Administrator Batch Datei auslesen?

    Hallo,
    Ich möchte einen text einer als Administrator gestarteten Batch Datei auslesen.

    Die Datei mit Administrator gestartet hab ich so:

    C#-Quellcode

    1. ​try
    2. {
    3. ProcessStartInfo procInfo = new ProcessStartInfo();
    4. var process = Process.Start(procInfo);
    5. procInfo.UseShellExecute = false;
    6. procInfo.FileName = @"C:\Users\Logan\Desktop\Test.bat";
    7. procInfo.WorkingDirectory = @"C:\Users\Logan\Desktop\";
    8. procInfo.Verb = "runas";
    9. Process.Start(procInfo);
    10. }
    11. catch (Exception ex)
    12. {
    13. MessageBox.Show(ex.Message.ToString());
    14. }


    Funktioniert soweit auch alles

    Auslesen einer Batch wüsste ich eigentlich auch:

    C#-Quellcode

    1. ​ProcessStartInfo procInfo = new ProcessStartInfo();
    2. var process = Process.Start(procInfo);
    3. procInfo.UseShellExecute = false;
    4. procInfo.FileName = @"C:\Users\Logan\Desktop\Test.bat";
    5. procInfo.WorkingDirectory = @"C:\Users\Logan\Desktop\";
    6. procInfo.Verb = "runas";
    7. procInfo.RedirectStandardError = true;
    8. procInfo.RedirectStandardOutput = true;
    9. Process.Start(procInfo);
    10. string output = process.StandardOutput.ReadToEnd();
    11. textBox1.Text = output;


    Allerdings wenn ich das ausführen möchte bekomm ich folgenden fehler:

    "Cannot Start Programm: No Filename assigned."

    mach ich das allerdings folgendermaßen:

    C#-Quellcode

    1. ​ Process process = Process.Start(new ProcessStartInfo()
    2. {
    3. FileName = @"C:\Users\Logan\Desktop\Test.bat",
    4. WorkingDirectory = @"C:\Users\Logan\Desktop\",
    5. UseShellExecute = true,
    6. RedirectStandardOutput = true,
    7. Verb = "runas"
    8. });
    9. string output = process.StandardOutput.ReadToEnd();
    10. process.WaitForExit();
    11. log.Text = output;


    Bekomm ich einen ERROR: Ich möchte bitte ShellExecute auf "false" setzen.

    Mach ich das bekomm ich nur ein kurzes Fenster aufploppen und die .BAT Datei wird nicht mal mehr als Administrator geöffnet.
    Gibt es da irgendwie ein Workaround?

    Grüße,
    Fachkraft.

    Fachkraftx3 schrieb:

    Batch Datei auslesen.
    Mit

    VB.NET-Quellcode

    1. Dim lines() = System.IO.File.ReadAllLines(PFAD_ZUR_DATEI)

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!