![如何创建一个以 txt 格式输出文件名的批处理文件?](https://linux22.com/image/1397990/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E4%BB%A5%20txt%20%E6%A0%BC%E5%BC%8F%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E5%90%8D%E7%9A%84%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我想用一个 bat 将所有文件名列表复制到一个 txt 文件中。例如,如果我有一个 .bat 文件,并且我将这个 bat 文件移动到 D:/123 或任何位置并单击它,我将在 123 文件夹中获得一个包含所有文件名为 123 的文本文件。我该怎么做?谢谢!
答案1
当您从 Windows 资源管理器双击批处理文件时,默认目录将设置为批处理文件的位置。因此,只要双击调用以下简单脚本,它就应该可以工作。
@dir /b /a-d >files.txt
如果您希望脚本无论如何调用都能正常工作,那么
@dir /b /a-d "%~dp0" >"%~dp0files.txt"
请注意,%~dp0
计算当前执行脚本的路径,包括尾随的\
。
答案2
dir 命令列出目录中的文件。附加标志以获取所需格式的输出,然后使用 > 符号将输出重定向到文件,例如:dir > list.txt
。