Foros del Web » Programación para mayores de 30 ;) » .NET »

comando findstr en c#

Estas en el tema de comando findstr en c# en el foro de .NET en Foros del Web. como ejecutar este comando que es para buscar la palabra pass en los archivos .txt ("findstr","/s \"pass\" *.txt ") estoy haciendo esto ProcessStartInfo myProcessStartInfo = ...
  #1 (permalink)  
Antiguo 03/03/2008, 10:04
Avatar de subero  
Fecha de Ingreso: marzo-2007
Mensajes: 64
Antigüedad: 17 años, 1 mes
Puntos: 0
comando findstr en c#

como ejecutar este comando que es para buscar la palabra pass en los archivos .txt ("findstr","/s \"pass\" *.txt ")

estoy haciendo esto


ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("findstr","/s \"hol\" *.txt ");

su sintaxis por cmd es la siguiente

findstr /s "computer help" *.txt
  #2 (permalink)  
Antiguo 03/03/2008, 19:06
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Re: comando findstr en c#

intentalo de ésta forma:

Cita:
ProcessStartInfo proc = new ProcessStartInfo("findstr");
proc.Arguments = "/s \"hol\" *.txt ";
Process.Start(proc);
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/03/2008, 07:34
Avatar de subero  
Fecha de Ingreso: marzo-2007
Mensajes: 64
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: comando findstr en c#

estoy haciendo esto pero solo sale la consola por un segundo pero no hace mas nada no me trae la informacion de esos archivos. que estare haciendo malo? este es mi query:
-------------------------------------------------------------------------------------------
Process myProcess = new Process();

ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("findstr");
myProcessStartInfo.Arguments = "/s \"hol\" *.txt";

myProcess.StartInfo.CreateNoWindow = true;
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;

myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
string output = myProcess.StandardOutput.ReadToEnd();
myProcess.Close();
return (output);
  #4 (permalink)  
Antiguo 06/03/2008, 08:47
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: comando findstr en c#

Ten en cuenta que el directorio de trabajo del proceso es el mismo de donde se ejecuta tu aplicación, prueba cambiando la propiedad WorkingDir de myProcessStartInfo o modifica la forma como ejecutas findstr (Ej. cambiar *.txt por UNIDAD:\DIRECTORIO\*.txt).

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 24/03/2008, 13:51
Avatar de subero  
Fecha de Ingreso: marzo-2007
Mensajes: 64
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: comando findstr en c#

no entiendo esa manera que me dices man como que por directorio si el findstr busca en todas las unidades
  #6 (permalink)  
Antiguo 24/03/2008, 23:40
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: comando findstr en c#

Pues definitivamente no entendiste lo que te dije... intenta cambiar en tu código
findstr /s "hol" *.txt

por algo más específico, ejm:

findstr /s "hol" C:\*.txt

Naturalmente "C:\*.txt" en tu caso sería la ruta donde quieres buscar.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 26/03/2008, 15:24
Avatar de subero  
Fecha de Ingreso: marzo-2007
Mensajes: 64
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: comando findstr en c#

StringBuilder sb = new StringBuilder();
sb.Append("hora del sistema: " + DateTime.Now.ToString("hh:mm:ss") +Environment.NewLine);

Process myProcess = new Process();

ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("findstr"," /s \"ou\" c:\ *.txt "); // ME DA ERROR

myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcess.StartInfo.CreateNoWindow = true;
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;

myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
string output = myProcess.StandardOutput.ReadToEnd();
myProcess.Close();
return (output);
Esa salida no me genera nada en ese direccion

Última edición por subero; 26/03/2008 a las 15:35
  #8 (permalink)  
Antiguo 26/03/2008, 15:45
Avatar de subero  
Fecha de Ingreso: marzo-2007
Mensajes: 64
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: comando findstr en c#

listo man ahora si sirvio lo q si es q me trae demasiados valores puedo yo controlar lo que quiero que me muestre y lo q no??
  #9 (permalink)  
Antiguo 27/03/2008, 06:52
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: comando findstr en c#

Si en output estás leyendo la salida, ahí puedes controlar lo que vas a mostrar o no.

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #10 (permalink)  
Antiguo 27/03/2008, 07:49
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: comando findstr en c#

pues si quieres solo los paths pues haz un regex para los paths

si te aparece algo asi

c:\\ruta.....
contenidocontenidocontenido
c:\\ruta.....

si utilizas un regex.matches puedes devolver todas las rutas desde el output.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.