Rust

Walk a Directory Tree

admin by @admin ADMIN
2d ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
`walkdir` recursively iterates every entry under a path, skipping inaccessible directories cleanly. The standard-library alternative requires manual recursion.
Rust
Raw
// Cargo.toml: walkdir = "2"
use walkdir::WalkDir;

fn main() {
    // Every .rs file under src/
    for entry in WalkDir::new("src").into_iter().filter_map(Result::ok) {
        if entry.file_type().is_file()
            && entry.path().extension().is_some_and(|e| e == "rs")
        {
            println!("{}", entry.path().display());
        }
    }

    // Limit depth + skip hidden directories
    let walker = WalkDir::new(".").max_depth(3).into_iter()
        .filter_entry(|e| !e.file_name().to_string_lossy().starts_with('.'));

    for entry in walker.filter_map(Result::ok) {
        if entry.file_type().is_file() {
            println!("  {}", entry.path().display());
        }
    }
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.