首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过命令行从多个文件夹获取完整的文件名到csv

如何通过命令行从多个文件夹获取完整的文件名到csv
EN

Stack Overflow用户
提问于 2015-07-15 16:17:54
回答 1查看 2.6K关注 0票数 1

感谢这里的几个人,我能够通过命令行连接到我的WD NAS。

现在我想拿到我储存在那里的电影的标题。我知道dir /b > file.csv命令,但这似乎不适用于我的结构。我有一个名为Data的文件夹(我有X:映射到这个位置"\MYNAS\ Data "),数据文件夹中还有其他文件夹,比如Action、Drama、Documentary等。所以当我使用dir /b > file.csv命令时,它会给出数据中的文件夹名称,而不是文件夹中的电影。

是否有一种简单的方法从每个文件夹中提取文件并使它们全部输出到一个CSV,而不是通过并为每个文件夹制作一个精盐csv?

我更喜欢用命令提示符来解决这个问题,因为我对它最熟悉,但我也愿意使用powershell。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-15 16:38:19

如果要在dir中使用cmd.exe命令,则需要/S开关递归地遍历文件夹,并可能需要/A:-D从结果中排除目录和连接:

代码语言:javascript
复制
dir X:\Data /A:-D /S /B > files.csv

您也可以使用PowerShell,等效的cmdlet是Get-ChildItem

代码语言:javascript
复制
Get-ChildItem X:\Data -File -Recurse | select FullName | Out-File "files.csv"

正如@Matt注意到的,这条语句只适用于PowerShell 3.0或更高版本。在早期版本中,-File参数不能工作,因此您必须手动筛选出目录:

代码语言:javascript
复制
Get-ChildItem X:\Data -Recurse | Where-Object {-not $_.PSIsContainer} | Select FullName | Out-File "files.csv"

可以展开Where-Object筛选器以排除具有特定扩展名的具有Extension属性的文件:

代码语言:javascript
复制
$ExcludeExtensions = ".exe",".pdf"
Get-ChildItem X:\Data -Recurse | Where-Object {(-not $_.PSIsContainer) -and ($ExcludeExtensions -notcontains $_.Extension)} | Select FullName | Out-File "files.csv"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31435791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档