如何将目录中的文件名称复制到文本文件或剪贴板?
答案1
在 Windows 命令行解释器(所有 Windows 操作系统)中,这非常非常简单:
- 打开命令提示符(开始 -> 运行 ->
cmd
Enter) - 导航 (
cd
) 到您想要列出的文件的目录。 - 输入(例如)并按。
dir > output_file_name
dir > C:\dir.txt
Enter
打开新创建的文本文件( ),您将在该目录中C:\dir.txt
获得该命令的完整输出。dir
大于号 ( >
) 表示输出重定向;它将大多数命令的输出发送到您指定的文件,并且对于记录命令的输出非常方便。
可以使用各种可用于定制 DIR 命令的正常输出的选项来控制输出;只需在要将该输出发送到文本文件的任何参数的末尾添加输出重定向。
更新:创建右键单击上下文菜单以创建目录内容列表
创建批处理文件并将其保存为%windir%\DirList.bat
:
@echo off
set dirpath=%1
dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt"
exit
打开你的SendTo
目录:
Windows 7/Vista:%appdata%\Microsoft\Windows\SendTo
Windows XP:%USERPROFILE%\SendTo
创建一个新的快捷方式,指向DirList.bat
并随意命名。
现在,右键单击任何目录并选择SendTo
子菜单将显示用于列出目录内容的新命令。
笔记:这仅在右键单击目录时才有效,并且它只会列出您右键单击的目录的内容。它还会将列表保存到该目录(以避免覆盖其他文件)。可以轻松修改脚本以更改输出列表文件的存储位置。
答案2
您可以dir /b > files.txt
从命令行使用 来获取存储在 中的文件名列表。如果您想要递归列表,files.txt
请添加。/s
要将内容直接放到剪贴板,只需将输出通过管道传输到clip
,即执行dir /b | clip
。
答案3
由于您没有提到操作系统,以下是它在 *nix 上的运行方式:
$ find . -maxdepth 1 -type f > /tmp/files.txt
对于当前目录中的文件或
$ find . -type f > /tmp/files.txt
如果你想获取目录树中的所有文件。
答案4
我有一个 Google Drive 文件夹,里面有需要放入网络档案的音频剪辑。为此,我需要一个包含完整文件路径的电子表格。
编写 Google 脚本将文件列到 Google 电子表格中由于文件数量过多导致超时而无法工作。
因此,我下载了该文件夹并结合上述答案,将文件和文件夹列在一个易于处理的列表中,该列表可以粘贴到 Excel 中并进一步操作:
dir /s /b > filelist.txt
如果不添加该/b
选项,它会按子文件夹对文件进行分组,并且在 Excel 中使用这些数据会变得很麻烦