<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Crate `walkdir` provides an efficient and cross platform implementation of recursive directory traversal. Several options are exposed to control iteration, such as whether to follow symbolic links (default off), limit the maximum number of simultaneous open file descriptors and the ability to efficiently skip descending into directories."><title>walkdir - Rust</title><script>if(window.location.protocol!=="file:")document.write(`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2">`)</script><linkrel="stylesheet"href="../static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet"href="../static.files/rustdoc-e935ef01ae1c1829.css"><metaname="rustdoc-vars"data-root-path="../"data-static-root-path="../static.files/"data-current-crate="walkdir"data-themes=""data-resource-suffix=""data-rustdoc-version="1.78.0 (9b00956e5 2024-04-29)"data-channel="1.78.0"data-search-js="search-42d8da7a6b9792c2.js"data-settings-js="settings-4313503d2e1961c2.js"><scriptsrc="../static.files/storage-4c98445ec4002617.js"></script><scriptdefersrc="../crates.js"></script><scriptdefersrc="../static.files/main-12cf3b4f4f9dc36d.js"></script><noscript><linkrel="stylesheet"href="../static.files/noscript-04d5337699b92874.css"></noscript><linkrel="alternate icon"type="image/png"href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><linkrel="alternate icon"type="image/png"href="../static.files/favicon-32x32-422f7d1d52889060.png"><linkrel="icon"type="image/svg+xml"href="../static.files/favicon-2c020d218678b618.svg"></head><bodyclass="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle"title="show sidebar"></button></nav><navclass="sidebar"><divclass="sidebar-crate"><h2><ahref="../walkdir/index.html">walkdir</a><spanclass="version">2.5.0</span></h2></div><divclass="sidebar-elems"><ulclass="block">
<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button"tabindex="-1"><ahref="../walkdir/all.html"title="show sidebar"></a></div><inputclass="search-input"name="search"aria-label="Run search in the documentation"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><divid="help-button"tabindex="-1"><ahref="../help.html"title="help">?</a></div><divid="settings-menu"tabindex="-1"><ahref="../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content"class="content"><divclass="main-heading"><h1>Crate <aclass="mod"href="#">walkdir</a><buttonid="copy-path"title="Copy item path to clipboard"><imgsrc="../static.files/clipboard-7571035ce49a181d.svg"width="19"height="18"alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="src"href="../src/walkdir/lib.rs.html#1-1194">source</a> · <buttonid="toggle-all-docs"title="collapse all docs">[<span>−</span>]</button></span></div><detailsclass="toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Crate <code>walkdir</code> provides an efficient and cross platform implementation
of recursive directory traversal. Several options are exposed to control
iteration, such as whether to follow symbolic links (default off), limit the
maximum number of simultaneous open file descriptors and the ability to
efficiently skip descending into directories.</p>
<p>To use this crate, add <code>walkdir</code> as a dependency to your project’s
<p>The <ahref="struct.WalkDir.html"><code>WalkDir</code></a> type builds iterators. The <ahref="struct.DirEntry.html"><code>DirEntry</code></a> type describes values
yielded by the iterator. Finally, the <ahref="struct.Error.html"><code>Error</code></a> type is a small wrapper around
<ahref="https://doc.rust-lang.org/stable/std/io/struct.Error.html"><code>std::io::Error</code></a> with additional information, such as if a loop was detected
while following symbolic links (not enabled by default).</p>
<p>Or, if you’d like to iterate over all entries and ignore any errors that
may arise, use <ahref="https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.filter_map"><code>filter_map</code></a>. (e.g., This code below will silently skip
directories that the owner of the running process does not have permission to
<h2id="example-skip-hidden-files-and-directories-on-unix"><aclass="doc-anchor"href="#example-skip-hidden-files-and-directories-on-unix">§</a>Example: skip hidden files and directories on unix</h2>
</div></details><h2id="structs"class="section-header">Structs<ahref="#structs"class="anchor">§</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="struct"href="struct.DirEntry.html"title="struct walkdir::DirEntry">DirEntry</a></div><divclass="desc docblock-short">A directory entry.</div></li><li><divclass="item-name"><aclass="struct"href="struct.Error.html"title="struct walkdir::Error">Error</a></div><divclass="desc docblock-short">An error produced by recursively walking a directory.</div></li><li><divclass="item-name"><aclass="struct"href="struct.FilterEntry.html"title="struct walkdir::FilterEntry">FilterEntry</a></div><divclass="desc docblock-short">A recursive directory iterator that skips entries.</div></li><li><divclass="item-name"><aclass="struct"href="struct.IntoIter.html"title="struct walkdir::IntoIter">IntoIter</a></div><divclass="desc docblock-short">An iterator for recursively descending into a directory.</div></li><li><divclass="item-name"><aclass="struct"href="struct.WalkDir.html"title="struct walkdir::WalkDir">WalkDir</a></div><divclass="desc docblock-short">A builder to create an iterator for recursively walking a directory.</div></li></ul><h2id="traits"class="section-header">Traits<ahref="#traits"class="anchor">§</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="trait"href="trait.DirEntryExt.html"title="trait walkdir::DirEntryExt">DirEntryExt</a></div><divclass="desc docblock-short">Unix-specific extension methods for <code>walkdir::DirEntry</code></div></li></ul><h2id="types"class="section-header">Type Aliases<ahref="#types"class="anchor">§</a></h2><ulclass="item-table"><li><divclass="item-name"><aclass="type"href="type.Result.html"title="type walkdir::Result">Result</a></div><divclass="desc docblock-short">A result type for walkdir operations.</div></li></ul></section></div></main></body></html>