//EJERCICIO : Buscar los ficheros HTML y eliminar las lineas que contengan la cadena <codigo del virus>
using System;
using System.IO;
class Programa
{
static void ListadoDirectorio (string dire)
{
string[] dirs = Directory.GetDirectories(dire); //devuelve una array de string con los subdirectorios que hay dentro.
foreach ( string d in dirs ) //coje los caracteres de la array dirs
{
Console.WriteLine(d);
ListadoDirectorio(d);
}
string[] fils = Directory.GetFiles(dire);
foreach (string f in fils)
{
Console.WriteLine(f,"*.html");
Limpia(f);
}
}
static void Limpia(string f)
{
//Aqui comprobamos si el fichero contiene el codigo del virus y lo eliminamos
StreamReader sr
= new StreamReader
(f
); // declaracion de la variable sr de lectura StreamWriter sw
= new StreamWriter
("temp.html"); //declaracion de la variable sw de escritura
string linia = sr.ReadLine();
while ( linia != null ) // lee la linia
{
linia = sr.ReadLine();
if ( linia != "<codigo del virus>" )
{
sw.WriteLine(linia);
//Console.WriteLine(error1);
}
else
{
//Console.WriteLine("error2");
Console.WriteLine("El fitxer {0} te un virus.",f);
}
linia = sr.ReadLine();
}
sw.Close();
sr.Close();
File.Delete(f);
File.Move("temp.html",f); //origen,destino
}
static void Main()
{
try
{
string dir = "c:\tools";
ListadoDirectorio(dir);
}
catch ( Exception e )
{
Console.WriteLine(e.ToString());
}
Console.ReadKey();
}
}