如何在命令提示符 /dir 输出中隐藏文件扩展名?

NoC*_*sis 9 windows command-line

我想做的事情似乎很简单:
我在 Windows 中有一个文件夹,其中包含各种类型的项目,包括 PDF 文件、TXT 文件和子目录。我正在编写一行 .bat 文件,仅将 PDF 文件名提取到新的文本文件中。

到目前为止,这是我在 .bat 中的内容:

dir *.pdf /b > PDF_LIST.txt
Run Code Online (Sandbox Code Playgroud)

这将在 PDF_LIST.txt 文件中提供以下输出:

A.pdf
B.pdf
C.pdf
Run Code Online (Sandbox Code Playgroud)

我想删除 txt 文件中每一行的“.pdf”部分,因为我显然已经通过 dir 语句中的 *.pdf 参数知道每个文件都是 PDF 格式的。

这只会让我更容易将所有文件名直接从文本文件复制/粘贴到 Word 文档中,以便我发送给我的客户。如果您可以建议一种更好或更简单的方法来获取文件列表而不使用批处理文件,那也会有所帮助。

Den*_*son 18

在你的脚本中:

for %%i in (*.pdf) do @echo %%~ni >> PDF_LIST.txt
Run Code Online (Sandbox Code Playgroud)

  • @NoCathasis:抱歉打字错误。在命令行中只需使用单个`%`。在批处理文件中使用 `%%`。 (2认同)