批处理文件,用于将文件夹中的文件名和 parent 目录的路径写入文本文件

Batch file to write names of files in a folder and the path of the parent directory to a text file

我正在尝试如标题所示,使用批处理文件将所有文件的名称和批处理文件所在的parent目录的路径复制到文本文件中。我搜索了以前的 post,但没有找到任何 post 可以解决我的问题。

到目前为止,我可以使用标题为 dir.bat 的以下批处理命令写入所有文件名(没有补丁或文件夹名称)位于 C:\Users\Username\Documents\FolderName:

dir /b /a-d > fileslist.txt

这会在找到批处理文件的同一文件夹中输出一个文本文件:

dir.bat
fileslist.txt
New Text Document - Copy (2).txt
New Text Document - Copy (3).txt
New Text Document - Copy (4).txt
New Text Document - Copy (5).txt
New Text Document - Copy.txt
New Text Document.txt

有什么方法可以在批处理文件中添加一行,以便文本文件在开始或结束时具有 parent 目录的路径,如下所示:

C:\Users\Username\Documents\FolderName

dir.bat
fileslist.txt
New Text Document - Copy (2).txt
New Text Document - Copy (3).txt
New Text Document - Copy (4).txt
New Text Document - Copy (5).txt
New Text Document - Copy.txt
New Text Document.txt

这是我的第一个 post 所以如果我可以提供更多信息来帮助指导回复,请告诉我!提前致谢!

您的 dir 命令没有列出与批处理文件位于同一目录中的所有文件。它列出了当前工作目录中的所有文件。 您很幸运,您执行批处理文件的方法是使用批处理文件目录作为当前目录。

为了正确输出您需要的内容,我建议使用一个简单的衬里:

@(For %%G In ("%~dp0.") Do @Echo %%~fG& Echo(& Dir "%~dp0" /B /A:-D) 1>"filelist.txt"