如何从 Windows 目录中获取文件名的文本列表或数据转储?我已设置以下文件夹:
[My Documents]
--SomeFileName.doc
--AnotherFileName.bmp
--AnotherMoreFileName.zip
--...
我想在一个过程中获取文件夹(我的文档)内的所有文件的文件名,并将文件名制作成可以复制到记事本的列表。
目前我的流程是点击F2突出显示文件的文件名,然后按CTRL+C将其复制并粘贴到记事本中,然后将其堆叠到列表中。我希望能够快速轻松地获取这些文件名。
如果可能的话,我想避免使用任何外部软件;我只想使用安装在我的笔记本电脑上的软件(Office 和 Windows XP,不过 Vista 或 Windows 7 也不错)。
答案1
打开命令提示符。
cd %homedrive%%homepath%\My Documents
dir /b > filenames.txt
filenames.txt
将包含您的所有文件的列表。
答案2
打开 powershell 并输入以下内容:
PS> cd "~\My Documents"
PS> ls | Where-Object {!($_.PSIsContainer)} | foreach-object {add-content -path filelist.txt -value $_.name}
这里发生的事情是,您ls
列出目录中的所有文件,并将该列表发送到删除目录的过滤器(其中对象不是容器)。然后,您将过滤后的列表发送到循环,该循环将文件名一次一个地添加到您的 txt 文件中。 $_
表示列表中的对象。
您可以使用它来做各种其他有趣的事情,例如添加-recurse
到 ls 命令,它将为您提供当前目录下所有目录中的所有文件。
您可以替换$_.name
为$_.fullName
以获取完整路径,或替换$_.Extension
为扩展名。请参阅文档查看 msdn 中的 fileinfo 类,了解使用 fileinfo 对象可以执行的所有有趣操作。