如何在文本文件中列出每个单独文件夹的多个文件夹的目录?

如何在文本文件中列出每个单独文件夹的多个文件夹的目录?

我有几十个文件夹,其中包含多个文件,我想知道如何(或是否有可能)使用例如在文本文件中回显每个文件夹的内容,目录 > INDEX.txt使用批处理文件或命令行。

我知道执行FOR /D %A IN (X:\destinationFolder*.*) DO (DIR >> INDEX.TXT "%A\")获取父目录中的文本文件,其中列出了所有文件夹及其内容,但我可以为每个文件夹创建单独的索引吗?还是我对批处理脚本的要求太高了?

不确定这是否是关键信息,但我正在运行 Windows 10。非常感谢任何帮助。

答案1

不太确定你在这里寻找什么,但把它们放在一起比工作更有趣:

@echo off

set "dir=C:\Your\Top\Folder"

del /f /q "%dir%\index.txt"

if exist "%dir%" (
    echo(
    echo Report for:
    echo %dir%
    echo(
    echo Subfolders:
    dir /a:d /o:n /b "%dir%"
    echo(
    echo Files:
    dir /a:-d /o:n /b "%dir%"
    echo(
    echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
)>>"%dir%\index.txt"

for /d /r "%dir%" %%A in (*) do (
    echo(
    echo Report for:
    echo %%A
    echo(
    echo Subfolders:
    dir /a:d /o:n /b "%%A"
    echo(
    echo Files:
    dir /a:-d /o:n /b "%%A"
    echo(
    echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
)>>"%dir%\index.txt"

当然,您可以保留/丢弃/更改其中的任何部分,以使您的输出文件看起来像您想要的那样 - 所以这实际上只是为了给您一个想法。这会将变量设置dir为您的顶级文件夹,以便我们可以更轻松地进行更改。if exist只是为了获取dir该顶级文件夹的输出 - 否则我们有一个for /d /r命令将递归循环遍历它。输出布局是个人偏好,基于我发现最有吸引力的东西(不必太担心)在循环遍历几个地方后查看。您会注意到,设置变量后,dir批处理做的第一件事是删除索引文件,这样我就不必在每次检查后手动执行此操作 - 否则>>只会继续回显多次运行直到最后。

如果你想要一个单独的索引文件每个子文件夹,您所要做的就是启用延迟扩展并嵌套循环的主要部分,for如下所示:

setlocal enabledelayedexpansion
for /d /r "%dir%" %%A in (*) do (
    set "name=%%~nA"
    (echo(
    echo Report for:
    echo %%A
    echo(
    echo Subfolders:
    dir /a:d /o:n /b "%%A"
    echo(
    echo Files:
    dir /a:-d /o:n /b "%%A"
    echo(
    echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)>>"%dir%\!name! index.txt"
)

%%~nA这将为您提供一个单独的文本文件,每个文件的标题中都有文件夹的名称 ( )。如果您像我一样懒惰,想在运行此操作之前删除单独的索引文件,n第几次,你可以在循环中if exist "%dir%\!name! index.txt" del /f /q "%dir%\!name! index.txt"设置name变量后立即抛出一个 - 我也可以把它放在一个块中:

for /d /r "%dir%" %%A in (*) do (
    set "name=%%~nA"
    if exist "%dir%\!name! index.txt" del /f /q "%dir%\!name! index.txt"
    (echo(

如果您正在寻找完全不同的东西,或者这是否有帮助,请告诉我。

参考:目录为了

相关内容