Avatar billede GoofyDK Nybegynder
19. januar 2011 - 17:45 Der er 10 kommentarer og
1 løsning

Problem med Process.Start

Hej alle.

Jeg har et problem med min Process.Start, da jeg prøver følgende:
Process.Start(@"C:\\system.exe", " -c \"status\" > @C:\\status.txt");

Denne virker ikke, da jeg går ud fra ">" er i. For denne virker:
Process.Start(@"C:\\system.exe", " -c \"status\" ");

For jeg vil gerne have system.exe til at skrive sin status ned i en .txt fil, men problemet er i arguments der skal jeg bruge ">" for at den gør det. Så mit spørgsmål til jer, hvordan kan jeg ordne det problem?

Mvh.
Avatar billede heinzdmx Nybegynder
19. januar 2011 - 17:57 #1
Er du sikker på at det ikke er @ tegnet der ikke bør være der?

Er snabel af en del af dit argument eller en af de ting ud har tilføjet strengen?
Avatar billede bvli Praktikant
19. januar 2011 - 17:58 #2
> er noget du får af cmd.exe - altså af dit shell.

Du kan evt. redirecte output fra din process til en stream (altså FileStream i dit tilfælde)
Avatar billede bvli Praktikant
19. januar 2011 - 17:59 #3
.. og det skulle ikke have været et svar..
Avatar billede arne_v Ekspert
19. januar 2011 - 18:05 #4
#1

Jep. Enten ingen @ eller kun en \.

#2

Enten koer cmd med exe som argument og redirect til fil eller koer exe og laes dets output i programmet.
Avatar billede GoofyDK Nybegynder
19. januar 2011 - 18:37 #5
Nu har jeg prøvet at lave sådan én:

Process compiler = new Process();
            compiler.StartInfo.FileName = @"C:\system.exe";
            compiler.StartInfo.Arguments = "-c \"status\" > C:\\status.txt";
            compiler.StartInfo.UseShellExecute = true;
            compiler.StartInfo.RedirectStandardOutput = false;
            compiler.Start();

Den virkede desværre heller ikke.
Avatar billede arne_v Ekspert
19. januar 2011 - 18:56 #6
Selvfoelgelig ikke.

Du har jo hverken brugt cmd eller laest output i dit program.
Avatar billede GoofyDK Nybegynder
19. januar 2011 - 18:59 #7
Ehm jeg er ikke med.

Hvad skal jeg bruge?
Avatar billede heinzdmx Nybegynder
19. januar 2011 - 19:04 #8
Process compiler = new Process();
            compiler.StartInfo.FileName = @"cmd.exe";
            compiler.StartInfo.Arguments = "/c c:\\system.exe -c \"status\" > c:\\status.txt";
            compiler.StartInfo.UseShellExecute = true;
            compiler.StartInfo.RedirectStandardOutput = false;
            compiler.Start();

Er løsningen med cmd.
Bemærk dog at du i så fald vil få en popup frem hver gang du kører koden.

Den anden metode må jo have noget med RedirectStandardOutput at gøre. Men det har jeg ikke prøvet at lave før, så det er nok en anden der skal vise dig den.
Avatar billede Syska Mester
19. januar 2011 - 19:05 #9
Med cmd mener han måske cmd.exe som kan tage et argument ... som så kan være dit program.

Help omkring cmd:
C:\>help cmd
Starts a new instance of the Windows command interpreter

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]

/C      Carries out the command specified by string and then terminates
/K      Carries out the command specified by string but remains
/S      Modifies the treatment of string after /C or /K (see below)
/Q      Turns echo off
/D      Disable execution of AutoRun commands from registry (see below)
/A      Causes the output of internal commands to a pipe or file to be ANSI
/U      Causes the output of internal commands to a pipe or file to be
        Unicode
/T:fg  Sets the foreground/background colors (see COLOR /? for more info)
/E:ON  Enable command extensions (see below)
/E:OFF  Disable command extensions (see below)
/F:ON  Enable file and directory name completion characters (see below)
/F:OFF  Disable file and directory name completion characters (see below)
/V:ON  Enable delayed environment variable expansion using ! as the
        delimiter. For example, /V:ON would allow !var! to expand the
        variable var at execution time.  The var syntax expands variables
        at input time, which is quite a different thing when inside of a FOR
        loop.
Press any key to continue . . .

Men er ikke sikker.

mvh
Avatar billede GoofyDK Nybegynder
19. januar 2011 - 19:38 #10
heinzdmx:

Det ser ud til at fungere, tusind tak for hjælpen.
Og også til Jer andre. Lægger du et svar?
Avatar billede heinzdmx Nybegynder
19. januar 2011 - 21:32 #11
Svar her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester