一个 .txt 文件,用于显示从当前目录开始的树以及通过 DIR 命令显示的所有 PDF 文件

问题描述 投票:0回答:1

我是 DIR 命令的新手。 我想知道是否可以在第一行列出当前目录,后跟 DIR COMMAND 中所有 PDF 文件的文件名。

例如,目标目录为C:\MyWork,文件夹内有3个PDF文件,名称分别为PDF1、PDF2、PDF3。 我可以有一个 .txt 文件,其中列出: 我的工作 PDF1 PDF2 PDF3 *没有文件扩展名

此外,对“MyWork”文件夹下除“Working”文件夹之外的子文件夹执行相同的操作。 例如,“MyWork”文件夹下有“Final”和“Working”两个子文件夹,“Final”文件夹内有 3 个 PDF(PDF1_1、PDF2_1 和 PDF3_1),则列表将为: 我的工作 PDF1 PDF2 PDF3 最终的 PDF1_1 PDF2_1 PDF3_1 ... 等等。 *跳过名为“Working”的文件夹

谢谢你。

以我有限的知识,我只能列出目标路径下的所有PDF文件名(不带文件扩展名)..

@echo off
setlocal enabledelayedexpansion

if exist Filelist.txt del Filelist.txt

for %%A in ("C:\MyWork\*.pdf") do (
    set "filename=%%~nA"
    set "filename=!filename:XXX_=!"
    echo !filename! >> Filelist.txt
)

endlocal
directory
1个回答
0
投票

据我了解,您想要递归地列出所有主文件夹及其子文件夹中所有带有 .pdf 扩展名的文件名,所以您 必须使用“for /r 循环”,尽管有多种方法可以做同样的事情。

@echo off
setlocal enabledelayedexpansion

if exist Filelist.txt del Filelist.txt

for /r "C:\MyWork" %%A in (*.pdf) do (
    set "filename=%%~nA"
    set "filename=!filename:XXX_=!"
    echo !filename! >> Filelist.txt
)

endlocal
© www.soinside.com 2019 - 2024. All rights reserved.