Objectivo
Cree un programa para almacenar los archivos que se encuentran en un determinado directorio y sus subdirectorios.
Luego, le preguntará al usuario qué texto buscar y mostrará los archivos que contienen ese texto en su nombre.
El programa finalizará cuando el usuario introduzca una cadena de búsqueda vacía.
Ejemplo Ejercicio C#
Mostrar Código C#
// Importing necessary namespaces
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Subdirectories
{
// Main method where the program execution starts
static void Main()
{
Console.WriteLine("Enter the directory path to scan:");
string directoryPath = Console.ReadLine(); // Ask the user for the directory path
if (!Directory.Exists(directoryPath))
{
Console.WriteLine("The directory does not exist. Please try again with a valid path.");
return;
}
// Store files and subdirectories
List filesList = GetFilesInDirectoryAndSubdirectories(directoryPath);
// Loop for searching files by name
while (true)
{
Console.WriteLine("\nEnter the text to search in file names (leave empty to exit):");
string searchText = Console.ReadLine(); // Get the search text from user
if (string.IsNullOrWhiteSpace(searchText))
{
Console.WriteLine("Exiting the program.");
break; // Exit the program if the search string is empty
}
// Search for files that contain the search text in their names
var matchedFiles = filesList.Where(f => f.Contains(searchText, StringComparison.OrdinalIgnoreCase)).ToList();
// Display the matching files
if (matchedFiles.Any())
{
Console.WriteLine("\nFiles containing the search text:");
foreach (var file in matchedFiles)
{
Console.WriteLine(file);
}
}
else
{
Console.WriteLine("\nNo files found containing the search text.");
}
}
}
// Method to get all files from a directory and its subdirectories
static List GetFilesInDirectoryAndSubdirectories(string path)
{
List files = new List();
// Get all files in the current directory
files.AddRange(Directory.GetFiles(path));
// Get all subdirectories in the current directory
var subdirectories = Directory.GetDirectories(path);
// Recursively get files from subdirectories
foreach (var subdir in subdirectories)
{
files.AddRange(GetFilesInDirectoryAndSubdirectories(subdir));
}
return files;
}
}
Salida
Initial Console Message:
Enter the directory path to scan:
If the directory does not exist:
The directory does not exist. Please try again with a valid path.
After a valid directory is entered and files are retrieved:
When searching for files:
Enter the text to search in file names (leave empty to exit):
If matching files are found:
Files containing the search text:
C:\Your\Directory\file1.txt
C:\Your\Directory\subdir\file2.txt
If no files match the search:
No files found containing the search text.
When the user enters an empty search term:
Exiting the program.
Código de Ejemplo Copiado!
Comparte este Ejercicio C# Sharp
¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.
En este ejercicio, debes crear un programa que muestre la fecha y hora actual con el siguiente formato:"Hoy es 6 de febrero de 2015. Son las 03:23:12".
En este ejercicio, deberás crear un programa que muestre todos los archivos presentes en la carpeta actual. El programa debe listar los archivos disponibles en el directorio...
En este ejercicio, deberás crear un programa que muestre los nombres de todos los archivos ejecutables (.com, .exe, .bat, .cmd) en la carpeta actual, excluyendo la ruta comp...
En este ejercicio, se requiere crear un programa que muestre la hora actual en la esquina superior derecha de la pantalla con el formato "HH:mm:ss". El programa debe actuali...
En este ejercicio, se requiere crear un programa que muestre el contenido de un "sitemap" preliminar en la pantalla. El sitemap debe generarse a partir de una lista d...
En este ejercicio, debes crear un programa que genere un archivo HTML que liste todas las imágenes (archivos PNG y JPG) en la carpeta actual. El ...