<p>Utilisation en ligne de commande :</p>
<pre><code class="lang-auto">for /f %f in ('dir /b c:\') do echo %f
</code></pre>
<p>Utilisation dans un fichier batch :</p>
<pre><code class="lang-auto">for /f %%f in ('dir /b c:\') do echo %%f
</code></pre>
<p><strong>Mise a jour</strong> : si le repertoire contient des fichiers avec des espaces dans les noms, vous devez changer le delimiteur utilise par la commande <code>for /f</code>. Par exemple, vous pouvez utiliser le caractere pipe.</p>
<pre><code class="lang-auto">for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
</code></pre>
<p><strong>Mise a jour 2</strong> : (un an et demi apres la reponse originale :-)) Si le nom du repertoire lui-meme contient un espace, vous pouvez utiliser l’option <code>usebackq</code> avec <code>for</code> :</p>
<pre><code class="lang-auto">for /f "usebackq delims=|" %%f in (dir /b "c:\program files") do echo %%f
</code></pre>
<p>Et si vous devez utiliser la redirection de sortie ou le chainage de commandes, utilisez le caractere d’echappement (<code>^</code>) :</p>
<pre><code class="lang-auto">for /f "usebackq delims=|" %%f in (dir /b "c:\program files" ^| findstr /i microsoft) do echo %%f
</code></pre>